In general, this is one of the few places I advocate using single letter parameters:

```ruby
@descriptor_options ||= descriptors.each_with_object(map_options(descriptor_document)) do |descriptor, h|
  h.merge!(map_options(descriptor)) if descriptor.is_a?(Hash)
end
```
Also, not the use of the singular version of the enumerable object for more self-documentation. Also, using each_with_object as alternate.