Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @datas = symbolise(JSON.parse(response.body.to_s))
- @doc = JSON.parse(@datas.to_json, object_class: OpenStruct)
- def snake_case(s)
- return s.downcase if s.match(/\A[A-Z]+\z/)
- s.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
- gsub(/([a-z])([A-Z])/, '\1_\2').
- downcase
- end
- def symbolise(obj)
- if obj.is_a? Hash
- return obj.inject({}) do |memo, (k, v)|
- memo.tap { |m| m[snake_case(k)] = symbolise(v) }
- end
- elsif obj.is_a? Array
- return obj.map { |memo| symbolise(memo) }
- end
- obj
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement