module WorkSnaps::API::Utils
Constants
- DEFAULT_CURSOR
Private Instance Methods
object_flatten(klass, attrs = {})
click to toggle source
# File lib/worksnaps/api/utils.rb, line 32 def object_flatten(klass, attrs = {}) attrs ||= {} object = attrs[klass.name.demodulize.underscore] || {} object.symbolize_keys! end
object_from_response(klass, request_method, path, options={})
click to toggle source
@param klass [Class] @param request_method [Symbol] @param path [String] @param options [Hash] @return [Object]
# File lib/worksnaps/api/utils.rb, line 15 def object_from_response(klass, request_method, path, options={}) response = send(request_method.to_sym, path, options)[:body] klass.fetch_or_new(object_flatten(klass, response)) end
objects_array_from_response(klass, response)
click to toggle source
# File lib/worksnaps/api/utils.rb, line 27 def objects_array_from_response(klass, response) objects_hash = response[klass.name.demodulize.tableize] objects_hash ? objects_hash.values : [] end
objects_from_response(klass, request_method, path, options={})
click to toggle source
# File lib/worksnaps/api/utils.rb, line 20 def objects_from_response(klass, request_method, path, options={}) response = send(request_method.to_sym, path, options)[:body] objects_array_from_response(klass, response).map {|object_hash| klass.fetch_or_new(object_flatten(klass, object_hash)) } end