Class: Payload::ARMObject
- Inherits:
-
Object
- Object
- Payload::ARMObject
show all
- Defined in:
- lib/payload/arm/object.rb
Direct Known Subclasses
Account, BankAccount, BillingCharge, BillingSchedule, Card, ChargeItem, Customer, Invoice, Ledger, LineItem, Org, Payment, PaymentActivation, PaymentItem, PaymentMethod, ProcessingAccount, Refund, Transaction
Constant Summary
collapse
- @@cache =
{}
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(data) ⇒ ARMObject
Returns a new instance of ARMObject.
13
14
15
|
# File 'lib/payload/arm/object.rb', line 13
def initialize(data)
self.set_data(data)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
39
40
41
42
43
44
45
46
|
# File 'lib/payload/arm/object.rb', line 39
def method_missing(name, *args)
attr = name.to_s
if @data.key?(attr)
return @data[attr]
else
super
end
end
|
Class Attribute Details
.data ⇒ Object
Returns the value of attribute data.
10
11
12
|
# File 'lib/payload/arm/object.rb', line 10
def data
@data
end
|
.poly ⇒ Object
Returns the value of attribute poly.
10
11
12
|
# File 'lib/payload/arm/object.rb', line 10
def poly
@poly
end
|
.spec ⇒ Object
Returns the value of attribute spec.
10
11
12
|
# File 'lib/payload/arm/object.rb', line 10
def spec
@spec
end
|
Class Method Details
.create(*args, **data) ⇒ Object
.delete(objects) ⇒ Object
72
73
74
|
# File 'lib/payload/arm/object.rb', line 72
def self.delete(objects)
return Payload::ARMRequest.new(self).delete(objects)
end
|
.filter_by(*args, **data) ⇒ Object
56
57
58
|
# File 'lib/payload/arm/object.rb', line 56
def self.filter_by(*args, **data)
return Payload::ARMRequest.new(self).filter_by(*args, **data)
end
|
.get(id) ⇒ Object
68
69
70
|
# File 'lib/payload/arm/object.rb', line 68
def self.get(id)
return Payload::ARMRequest.new(self).get(id)
end
|
.new(data) ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/payload/arm/object.rb', line 17
def self.new(data)
if data.key?('id') and @@cache.key?(data['id'])
@@cache[data['id']].set_data(data)
return @@cache[data['id']]
else
inst = super
if data.key?('id') and not data['id'].nil? and not data['id'].empty?
@@cache[data['id']] = inst
end
return inst
end
end
|
.select(*args, **data) ⇒ Object
52
53
54
|
# File 'lib/payload/arm/object.rb', line 52
def self.select(*args, **data)
return Payload::ARMRequest.new(self).select(*args, **data)
end
|
Instance Method Details
#[](key) ⇒ Object
48
49
50
|
# File 'lib/payload/arm/object.rb', line 48
def [](key)
return @data[key]
end
|
#data ⇒ Object
31
32
33
|
# File 'lib/payload/arm/object.rb', line 31
def data
@data
end
|
#delete ⇒ Object
80
81
82
|
# File 'lib/payload/arm/object.rb', line 80
def delete()
return Payload::ARMRequest.new(self.class)._request('Delete', id: self.id)
end
|
#set_data(data) ⇒ Object
35
36
37
|
# File 'lib/payload/arm/object.rb', line 35
def set_data(data)
@data = data
end
|
#update(**update) ⇒ Object
76
77
78
|
# File 'lib/payload/arm/object.rb', line 76
def update(**update)
return Payload::ARMRequest.new(self.class)._request('Put', id: self.id, json: update)
end
|