Module: RestModel::Embeddable::Retriever
- Included in:
- RestModel::Embeddable
- Defined in:
- lib/rest_model/key/embeddable/retriever.rb
Instance Method Summary collapse
Instance Method Details
#digg(input) ⇒ Object
16 17 18 |
# File 'lib/rest_model/key/embeddable/retriever.rb', line 16 def digg(input) source_path.inject(input) {|buffer, key| buffer = buffer[key]} end |
#from_source(item, resource = nil) ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/rest_model/key/embeddable/retriever.rb', line 4 def from_source(item, resource = nil) return handle_fields(item) if fields value = digg(item) parsed_value = raw? ? value : resource_class.from_source(value) one? ? parsed_value.first : parsed_value end |
#handle_fields(item) ⇒ Object
12 13 14 |
# File 'lib/rest_model/key/embeddable/retriever.rb', line 12 def handle_fields(item) convert_input_keys.call(fields).map {|field| item[field]} end |