Вам определенно следует использовать что-то вроде json["shots_counts"]
, но если вам действительно нужен объективированный хеш, вы можете создать новый класс для этого:
class ObjectifiedHash
def initialize hash
@data = hash.inject({}) do |data, (key,value)|
value = ObjectifiedHash.new value if value.kind_of? Hash
data[key.to_s] = value
data
end
end
def method_missing key
if @data.key? key.to_s
@data[key.to_s]
else
nil
end
end
end
После этого используйте его:
ojson = ObjectifiedHash.new(HTTParty.get('http://api.dribbble.com/players/simplebits'))
ojson.shots_counts # => 150