class SpiffyStoresAPI::Base
Public Class Methods
activate_session(session)
click to toggle source
# File lib/spiffy_stores_api/resources/base.rb, line 53 def activate_session(session) raise InvalidSessionError.new("Session cannot be nil") if session.nil? self.site = session.site self.headers.merge!('Authorization' => "Bearer #{session.token}") end
clear_session()
click to toggle source
# File lib/spiffy_stores_api/resources/base.rb, line 59 def clear_session self.site = nil self.headers.delete('Authorization') end
headers()
click to toggle source
# File lib/spiffy_stores_api/resources/base.rb, line 32 def headers if _headers_defined? _headers elsif superclass != Object && superclass.headers superclass.headers else _headers ||= {} end end
init_prefix(resource)
click to toggle source
# File lib/spiffy_stores_api/resources/base.rb, line 64 def init_prefix(resource) init_prefix_explicit(resource.to_s.pluralize, "#{resource}_id") end
init_prefix_explicit(resource_type, resource_id)
click to toggle source
# File lib/spiffy_stores_api/resources/base.rb, line 68 def init_prefix_explicit(resource_type, resource_id) self.prefix = "/api/#{resource_type}/:#{resource_id}/" define_method resource_id.to_sym do @prefix_options[resource_id] end end
Public Instance Methods
as_json(options = nil)
click to toggle source
# File lib/spiffy_stores_api/resources/base.rb, line 20 def as_json(options = nil) root = options[:root] if options.try(:key?, :root) if include_root_in_json root = self.class.model_name.element if root == true { root => serializable_hash(options) } else serializable_hash(options) end end
encode(options = {})
click to toggle source
# File lib/spiffy_stores_api/resources/base.rb, line 13 def encode(options = {}) same = dup same.attributes = {self.class.element_name => same.attributes} if self.class.format.extension == 'json' same.send("to_#{self.class.format.extension}", options) end
persisted?()
click to toggle source
# File lib/spiffy_stores_api/resources/base.rb, line 77 def persisted? !id.nil? end
Private Instance Methods
only_id()
click to toggle source
# File lib/spiffy_stores_api/resources/base.rb, line 82 def only_id encode(:only => :id, :include => [], :methods => []) end