Sha256: 1c5112df01a6ba8f908026a3a10e850c25b4699939d7616be7ee3138aeb0554b
Contents?: true
Size: 1016 Bytes
Versions: 3
Compression:
Stored size: 1016 Bytes
Contents
module OMCMS module Response class Body attr_reader :body def initialize(client, response, host) @client = client @body = response @host = host end def to_json parse(@body) end private def parse(data = "") if data.class == Hash return data.keys.map do |attribute| key = snakecase(attribute) [key, parse(data[attribute])] end.to_h elsif data.class == Array return data.map do |object| hash = object.keys.map do |attribute| key = snakecase(attribute) [key, parse(object[attribute])] end.to_h end end return data end def snakecase(data = "") data.gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2') .gsub(/([a-z\d])([A-Z])/,'\1_\2') .tr('-', '_') .gsub(/\s/, '_') .gsub(/__+/, '_') .downcase end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
omcms-ruby-client-1.0.2 | lib/omcms/response/body.rb |
omcms-ruby-client-1.0.1 | lib/omcms/response/body.rb |
omcms-ruby-client-1.0.0.pre.alpha | lib/omcms/response/body.rb |