cameroncox-mousetrap 0.5.3.3 → 0.5.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/lib/mousetrap/invoice.rb +34 -0
- data/lib/mousetrap/plan.rb +1 -0
- data/lib/mousetrap/subscription.rb +24 -5
- data/lib/mousetrap.rb +1 -0
- metadata +3 -2
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.5.3.
|
|
1
|
+
0.5.3.4
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module Mousetrap
|
|
2
|
+
class Invoice < Resource
|
|
3
|
+
attr_accessor \
|
|
4
|
+
:id,
|
|
5
|
+
:number,
|
|
6
|
+
:billing_date,
|
|
7
|
+
:created_at
|
|
8
|
+
|
|
9
|
+
protected
|
|
10
|
+
|
|
11
|
+
def self.plural_resource_name
|
|
12
|
+
'invoices'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def self.singular_resource_name
|
|
16
|
+
'invoice'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
attr_writer \
|
|
20
|
+
:id,
|
|
21
|
+
:number,
|
|
22
|
+
:billing_date,
|
|
23
|
+
:created_at
|
|
24
|
+
|
|
25
|
+
def self.attributes_from_api(attributes)
|
|
26
|
+
{
|
|
27
|
+
:id => attributes['id'],
|
|
28
|
+
:number => attributes['number'],
|
|
29
|
+
:billing_date => attributes['billingDatetime'],
|
|
30
|
+
:created_at => attributes['createdDatetime']
|
|
31
|
+
}
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
data/lib/mousetrap/plan.rb
CHANGED
|
@@ -10,7 +10,6 @@ module Mousetrap
|
|
|
10
10
|
:credit_card_expiration_year,
|
|
11
11
|
:billing_zip_code,
|
|
12
12
|
:plan,
|
|
13
|
-
|
|
14
13
|
:customer_code # belongs to customer
|
|
15
14
|
|
|
16
15
|
# Attributes that come _from_ the API.
|
|
@@ -21,7 +20,8 @@ module Mousetrap
|
|
|
21
20
|
:credit_card_expiration_date,
|
|
22
21
|
:credit_card_last_four_digits,
|
|
23
22
|
:credit_card_type,
|
|
24
|
-
:items
|
|
23
|
+
:items,
|
|
24
|
+
:invoices
|
|
25
25
|
|
|
26
26
|
def self.[](code)
|
|
27
27
|
raise_api_unsupported_error
|
|
@@ -52,6 +52,23 @@ module Mousetrap
|
|
|
52
52
|
}
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
+
def current_invoice
|
|
56
|
+
invoice_record = if invoices.kind_of?(Array)
|
|
57
|
+
invoices['invoice'].first
|
|
58
|
+
else
|
|
59
|
+
invoices['invoice']
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
attributes = {
|
|
63
|
+
:id => invoice_record['id'],
|
|
64
|
+
:number => invoice_record['number'],
|
|
65
|
+
:created_at => invoice_record['createdDatetime'],
|
|
66
|
+
:billing_date => invoice_record['billingDatetime']
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
Invoice.new(attributes)
|
|
70
|
+
end
|
|
71
|
+
|
|
55
72
|
def attributes_for_api
|
|
56
73
|
self.class.attributes_for_api(attributes)
|
|
57
74
|
end
|
|
@@ -95,7 +112,8 @@ module Mousetrap
|
|
|
95
112
|
:credit_card_expiration_date,
|
|
96
113
|
:credit_card_last_four_digits,
|
|
97
114
|
:credit_card_type,
|
|
98
|
-
:items
|
|
115
|
+
:items,
|
|
116
|
+
:invoices
|
|
99
117
|
|
|
100
118
|
def self.plural_resource_name
|
|
101
119
|
'subscriptions'
|
|
@@ -113,7 +131,7 @@ module Mousetrap
|
|
|
113
131
|
:ccNumber => attributes[:credit_card_number],
|
|
114
132
|
:ccExpMonth => ("%02d" % attributes[:credit_card_expiration_month] if attributes[:credit_card_expiration_month]),
|
|
115
133
|
:ccExpYear => attributes[:credit_card_expiration_year],
|
|
116
|
-
:ccZip => attributes[:billing_zip_code]
|
|
134
|
+
:ccZip => attributes[:billing_zip_code]
|
|
117
135
|
}
|
|
118
136
|
end
|
|
119
137
|
|
|
@@ -125,7 +143,8 @@ module Mousetrap
|
|
|
125
143
|
:credit_card_expiration_date => attributes['ccExpirationDate'],
|
|
126
144
|
:credit_card_last_four_digits => attributes['ccLastFour'],
|
|
127
145
|
:credit_card_type => attributes['ccType'],
|
|
128
|
-
:items => attributes['items']
|
|
146
|
+
:items => attributes['items'],
|
|
147
|
+
:invoices => attributes['invoices']
|
|
129
148
|
}
|
|
130
149
|
end
|
|
131
150
|
end
|
data/lib/mousetrap.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cameroncox-mousetrap
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.3.
|
|
4
|
+
version: 0.5.3.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jon Larkowski
|
|
@@ -12,7 +12,7 @@ autorequire:
|
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
14
|
|
|
15
|
-
date:
|
|
15
|
+
date: 2010-01-18 00:00:00 -05:00
|
|
16
16
|
default_executable:
|
|
17
17
|
dependencies:
|
|
18
18
|
- !ruby/object:Gem::Dependency
|
|
@@ -72,6 +72,7 @@ files:
|
|
|
72
72
|
- VERSION
|
|
73
73
|
- lib/mousetrap.rb
|
|
74
74
|
- lib/mousetrap/customer.rb
|
|
75
|
+
- lib/mousetrap/invoice.rb
|
|
75
76
|
- lib/mousetrap/plan.rb
|
|
76
77
|
- lib/mousetrap/resource.rb
|
|
77
78
|
- lib/mousetrap/subscription.rb
|