Module: Payload

Defined in:
lib/payload.rb,
lib/payload/utils.rb,
lib/payload/objects.rb,
lib/payload/version.rb,
lib/payload/arm/object.rb,
lib/payload/exceptions.rb,
lib/payload/arm/request.rb

Defined Under Namespace

Classes: ARMObject, ARMRequest, Account, BadRequest, BankAccount, BillingCharge, BillingSchedule, Card, ChargeItem, Customer, Forbidden, InternalServerError, InvalidAttributes, Invoice, Ledger, LineItem, NotFound, Org, PayloadError, Payment, PaymentActivation, PaymentItem, PaymentMethod, ProcessingAccount, Refund, ServiceUnavailable, TooManyRequests, Transaction, Unauthorized, UnknownResponse

Constant Summary collapse

VERSION =
'0.2.1'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.api_keyObject

Returns the value of attribute api_key.



10
11
12
# File 'lib/payload.rb', line 10

def api_key
  @api_key
end

.api_urlObject

Returns the value of attribute api_url.



10
11
12
# File 'lib/payload.rb', line 10

def api_url
  @api_url
end

Class Method Details

.create(objects) ⇒ Object



13
14
15
# File 'lib/payload.rb', line 13

def self.create(objects)
	return Payload::ARMRequest.new().create(objects)
end

.get_cls(data) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/payload/utils.rb', line 7

def self.get_cls(data)
	match = nil
	for cls in subclasses(Payload::ARMObject)
		if cls.spec['object'] != data['object']
			next
		end

		if not cls.poly and not match
			match = cls

		elsif cls.poly

			invalid = false
			cls.poly.each do |key, value|
				if data[key] != value
					invalid = true
				end
			end

			if invalid
				next
			end

			match = cls
			break
		end
	end

	match
end

.subclasses(super_cls) ⇒ Object



3
4
5
# File 'lib/payload/utils.rb', line 3

def self.subclasses(super_cls)
	ObjectSpace.each_object(Class).select { |cls| cls < super_cls }
end