Module: ActiveJobject::Parser
- Included in:
- Request
- Defined in:
- lib/active_jobject/parser.rb
Defined Under Namespace
Classes: InvalidInstance
Instance Method Summary collapse
Instance Method Details
#parse(klass, **attributes) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/active_jobject/parser.rb', line 7 def parse(klass, **attributes) raise InvalidInstance, "Class #{klass&.name || klass} is not an instance." if klass.is_a?(Class) attributes.each do |attribute, value| return_value = if value.is_a?(Array) parse_array(klass, attribute, value) elsif value.is_a?(Hash) parse_hash(klass, attribute, value) else value end define_singleton_methods(klass, attribute, return_value) end klass end |