Class: Besepa::Resource
Direct Known Subclasses
Activity, BankAccount, BusinessAccount, Customer, Debit, Group, Mandate, Payment, Product, Remittance, Report, Subscription, User, Webhook
Constant Summary
collapse
- ALLOWED_NILS =
[]
Utils::Request::END_POINT_URL_PREFIX
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
delete, get, post, put
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
#activities ⇒ Object
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_name ⇒ Object
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_nils ⇒ Object
70
71
72
|
# File 'lib/besepa/resource.rb', line 70
def allowed_nils
[]
end
|
#as_json ⇒ Object
62
63
64
|
# File 'lib/besepa/resource.rb', line 62
def as_json
to_hash.as_json
end
|
#klass_name ⇒ Object
66
67
68
|
# File 'lib/besepa/resource.rb', line 66
def klass_name
self.class.name.split('::')[-1].downcase
end
|
#serializable_hash ⇒ Object
58
59
60
|
# File 'lib/besepa/resource.rb', line 58
def serializable_hash
to_hash
end
|
#to_hash ⇒ Object
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
|