Class: LIT::RequestDeserializer
- Inherits:
-
Object
- Object
- LIT::RequestDeserializer
- Defined in:
- lib/lit/request_deserializer.rb
Overview
Constant Summary collapse
- AST =
Parser::AST
Instance Method Summary collapse
- #deserialize_request ⇒ Object
-
#initialize(raw_request, type_root) ⇒ RequestDeserializer
constructor
A new instance of RequestDeserializer.
Constructor Details
#initialize(raw_request, type_root) ⇒ RequestDeserializer
Returns a new instance of RequestDeserializer.
9 10 11 12 13 |
# File 'lib/lit/request_deserializer.rb', line 9 def initialize(raw_request, type_root) # { action, payload } @raw_request = raw_request @type_root = type_root end |
Instance Method Details
#deserialize_request ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/lit/request_deserializer.rb', line 15 def deserialize_request action_namespace = @raw_request.fetch("action").split(".").map { |x| Utils.camelize(x) } action_type = action_namespace.reduce(@type_root) do |object, namespace| object.const_get(namespace) end request_type = action_type.const_get("Request") @type_module = action_type.const_get("DefinedIn") deserialize(request_type, @raw_request.fetch("payload")) end |