module ActiveRequest::Queries::InstanceMethods
Public Instance Methods
delete()
click to toggle source
# File lib/active_request/queries.rb, line 54 def delete instance_variable_set("@errors", []) response = self.class.delete("/#{self.class.model_name.pluralize}/#{id}.json", headers: self.class.headers) unless 200 == response.code instance_variable_set("@errors", response["errors"]) return false end body = JSON.parse(response.body) true end
save()
click to toggle source
# File lib/active_request/queries.rb, line 65 def save instance_variable_set("@errors", []) response = id.present? ? do_put : do_post return false unless response body = JSON.parse(response.body) instance_variable_set("@id", body[self.class.model_name]["id"]) true end
Private Instance Methods
add_key_value(key, value)
click to toggle source
# File lib/active_request/queries.rb, line 104 def add_key_value(key, value) { key => value } if value end
do_post()
click to toggle source
# File lib/active_request/queries.rb, line 76 def do_post response = self.class.post("/#{self.class.model_name.pluralize}.json", query: query, headers: self.class.headers) unless 201 == response.code instance_variable_set("@errors", response["errors"]) return false end response end
do_put()
click to toggle source
# File lib/active_request/queries.rb, line 85 def do_put response = self.class.put("/#{self.class.model_name.pluralize}/#{id}.json", query: query, headers: self.class.headers) unless 200 == response.code instance_variable_set("@errors", response["errors"]) return false end response end
query()
click to toggle source
# File lib/active_request/queries.rb, line 94 def query many_atts = query_for_manys.reduce(:merge) local_atts = attributes.map { |att| add_key_value(att, send(att)) }.reject(&:blank?).reduce(:merge) { self.class.model_name => local_atts ? local_atts.merge(many_atts) : many_atts } end
query_for_manys()
click to toggle source
# File lib/active_request/queries.rb, line 100 def query_for_manys has_manys.map { |many| { "#{Object.const_get(many[:class_name]).model_name.pluralize}_attributes" => send(many[:association]).map { |item| item.attributes.map { |att| add_key_value(att, item.send(att)) }.reject(&:blank?).reduce(:merge) } } } end