class Besepa::Resource
Constants
- ALLOWED_NILS
Attributes
activities[RW]
Public Class Methods
api_path(filters={})
click to toggle source
# File lib/besepa/resource.rb, line 18 def api_path(filters={}) "/#{klass_name}s" end
handle_errors(http_status, response)
click to toggle source
# File lib/besepa/resource.rb, line 26 def handle_errors(http_status, response) error = response['error'] desc = response['error_description'] msgs = response['messages'] if error == 'invalid_resource' raise Besepa::Errors::InvalidResourceError.new(error, desc, http_status, msgs) elsif error == 'not_found' raise Besepa::Errors::ResourceNotFoundError.new(error, desc, http_status, msgs) else raise Besepa::Errors::BesepaError.new(error, desc, http_status, msgs) end end
klass_name()
click to toggle source
# File lib/besepa/resource.rb, line 22 def klass_name name.split('::')[-1].downcase end
new(attrs={})
click to toggle source
# File lib/besepa/resource.rb, line 46 def initialize(attrs={}) process_attributes(attrs) end
query_params(filters = {})
click to toggle source
# File lib/besepa/resource.rb, line 14 def query_params(filters = {}) filters end
Public Instance Methods
allowed_nils()
click to toggle source
# File lib/besepa/resource.rb, line 70 def allowed_nils [] end
as_json()
click to toggle source
# File lib/besepa/resource.rb, line 62 def as_json to_hash.as_json end
klass_name()
click to toggle source
# File lib/besepa/resource.rb, line 66 def klass_name self.class.name.split('::')[-1].downcase end
serializable_hash()
click to toggle source
# File lib/besepa/resource.rb, line 58 def serializable_hash to_hash end
to_hash()
click to toggle source
# File lib/besepa/resource.rb, line 50 def to_hash values = {} self.class::FIELDS.each do |key| values[key] = self.send("#{key.to_s}") end values end
Protected Instance Methods
handle_errors(http_status, response)
click to toggle source
# File lib/besepa/resource.rb, line 76 def handle_errors(http_status, response) Module.const_get(self.class.name).handle_errors(http_status, response) end
process_activities(attrs)
click to toggle source
# File lib/besepa/resource.rb, line 87 def process_activities(attrs) if attrs['activities'] self.activities = Array.new attrs['activities'].each do |a| self.activities << Besepa::Activity.new(a) end end end
process_attributes(attrs)
click to toggle source
# File lib/besepa/resource.rb, line 80 def process_attributes(attrs) self.class::FIELDS.each do |key| self.send("#{key.to_s}=", attrs[key.to_s] || attrs[key.to_sym]) end process_activities(attrs) end