Class: Yoda::Server::Deserializer

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/server/deserializer.rb

Instance Method Summary collapse

Constructor Details

#initializeDeserializer

Returns a new instance of Deserializer.



6
7
# File 'lib/yoda/server/deserializer.rb', line 6

def initialize
end

Instance Method Details

#deserialize(params) ⇒ Object

Parameters:

  • params (Hash)


10
11
12
# 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) ⇒ Object

Parameters:

  • params (any)


15
16
17
18
19
# 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) ⇒ Object

Parameters:

  • str (Symbol)


22
23
24
# File 'lib/yoda/server/deserializer.rb', line 22

def snakenize(str)
  str.to_s.gsub(/([A-Z])/, '_\1').downcase.to_sym
end