module SmoothOperator::FinderMethods::HelperMethods
Public Instance Methods
build_object(object, parsed_response, options, from_array = false)
click to toggle source
# File lib/smooth_operator/finder_methods.rb, line 23 def build_object(object, parsed_response, options, from_array = false) if parsed_response.is_a?(Array) parse_array(parsed_response, object, options) elsif parsed_response.is_a?(Hash) parse_hash(object, parsed_response, options, from_array) else parsed_response end end
parse_array(parsed_response, object, options)
click to toggle source
# File lib/smooth_operator/finder_methods.rb, line 33 def parse_array(parsed_response, object, options) parsed_response.map do |array_entry| build_object(object, array_entry, options, true) end end
parse_hash(object, parsed_response, options, from_array)
click to toggle source
# File lib/smooth_operator/finder_methods.rb, line 39 def parse_hash(object, parsed_response, options, from_array) object_class ||= object.class == Class ? object : object.class if parsed_response.include?(object_class.resources_name) && !from_array ArrayWithMetaData.new(parsed_response.dup, object_class) else object_class.new(parsed_response, data_from_server: true) end end