intridea/hashie — pull request #47 by jch (2012-06-04 20:12:00+00:00)
Title: respect other Hashie::Hash subclasses when assigning a value

When assigning a raw ruby Hash, the hash should be converted
to the current subclass. But when assigning an existing
subclass, we should keep the existing subclass's type.

Example:

```ruby
h = {:foo => 'bar'}
m = Hashie::Mash.new
m.value = h
m.value.class # Hashie::Mash

class SubMash < Hashie::Mash
end

h = SubMash.new(:foo => 'bar')
m = Hashie::Mash.new
m.value = h
m.value.class # Hashie::SubMash <- should not be converted to a Mash
```