Module: Jat::Plugins::SimpleApi::ResponsePiece::InstanceMethods
- Included in:
- Jat::Plugins::SimpleApi::ResponsePiece
- Defined in:
- lib/jat/plugins/simple_api/lib/response_piece.rb
Instance Attribute Summary collapse
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#jat_class ⇒ Object
readonly
Returns the value of attribute jat_class.
-
#object ⇒ Object
readonly
Returns the value of attribute object.
Instance Method Summary collapse
Instance Attribute Details
#context ⇒ Object (readonly)
Returns the value of attribute context.
25 26 27 |
# File 'lib/jat/plugins/simple_api/lib/response_piece.rb', line 25 def context @context end |
#jat_class ⇒ Object (readonly)
Returns the value of attribute jat_class.
25 26 27 |
# File 'lib/jat/plugins/simple_api/lib/response_piece.rb', line 25 def jat_class @jat_class end |
#object ⇒ Object (readonly)
Returns the value of attribute object.
25 26 27 |
# File 'lib/jat/plugins/simple_api/lib/response_piece.rb', line 25 def object @object end |
Instance Method Details
#initialize(object, context) ⇒ Object
27 28 29 30 31 |
# File 'lib/jat/plugins/simple_api/lib/response_piece.rb', line 27 def initialize(object, context) @object = object @context = context @jat_class = self.class.jat_class end |
#piece(map) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/jat/plugins/simple_api/lib/response_piece.rb', line 33 def piece(map) return unless object result = {} map.each do |key, inner_map| attribute = jat_class.attributes.fetch(key) value = attribute.value(object, context) result[key] = if attribute.relation? if many?(attribute, value) value.map { |obj| inner_piece(attribute, obj, inner_map) } else inner_piece(attribute, value, inner_map) end else value end end result end |