class Yoda::Server::Deserializer

Public Class Methods

new() click to toggle source
# File lib/yoda/server/deserializer.rb, line 6
def initialize
end

Public Instance Methods

deserialize(params) click to toggle source

@param params [Hash]

# File lib/yoda/server/deserializer.rb, line 10
def deserialize(params)
  Hash[params.map { |key, value| [snakenize(key), deserialize_value(value)] }]
end
deserialize_value(value) click to toggle source

@param params [any]

# File lib/yoda/server/deserializer.rb, line 15
def deserialize_value(value)
  return deserialize(value) if value.is_a?(Hash)
  return value.map { |el| deserialize_value(el) } if value.is_a?(Enumerable)
  value
end
snakenize(str) click to toggle source

@param str [Symbol]

# File lib/yoda/server/deserializer.rb, line 22
def snakenize(str)
  str.to_s.gsub(/([A-Z])/, '_\1').downcase.to_sym
end