Class: Besepa::Resource

Inherits:
Object
  • Object
show all
Extended by:
Utils::Connection, Utils::Request
Includes:
Utils::Connection, Utils::Request
Defined in:
lib/besepa/resource.rb

Constant Summary collapse

ALLOWED_NILS =
[]

Constants included from Utils::Request

Utils::Request::END_POINT_URL_PREFIX

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Utils::Request

delete, get, post, put

Methods included from Utils::Connection

connection

Constructor Details

#initialize(attrs = {}) ⇒ Resource

Returns a new instance of Resource.



46
47
48
# File 'lib/besepa/resource.rb', line 46

def initialize(attrs={})
  process_attributes(attrs)
end

Instance Attribute Details

#activitiesObject

Returns the value of attribute activities.



44
45
46
# File 'lib/besepa/resource.rb', line 44

def activities
  @activities
end

Class Method Details

.api_path(filters = {}) ⇒ Object



18
19
20
# File 'lib/besepa/resource.rb', line 18

def api_path(filters={})
  "/#{klass_name}s"
end

.handle_errors(http_status, response) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# 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_nameObject



22
23
24
# File 'lib/besepa/resource.rb', line 22

def klass_name
  name.split('::')[-1].downcase
end

.query_params(filters = {}) ⇒ Object



14
15
16
# File 'lib/besepa/resource.rb', line 14

def query_params(filters = {})
  filters
end

Instance Method Details

#allowed_nilsObject



70
71
72
# File 'lib/besepa/resource.rb', line 70

def allowed_nils
  []
end

#as_jsonObject



62
63
64
# File 'lib/besepa/resource.rb', line 62

def as_json
  to_hash.as_json
end

#klass_nameObject



66
67
68
# File 'lib/besepa/resource.rb', line 66

def klass_name
  self.class.name.split('::')[-1].downcase
end

#serializable_hashObject



58
59
60
# File 'lib/besepa/resource.rb', line 58

def serializable_hash
  to_hash
end

#to_hashObject



50
51
52
53
54
55
56
# 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