bill_forward 1.2015.321.1 → 1.2016.26

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
- ---
2
- SHA1:
3
- metadata.gz: e75681a0071e53b94f7856566b7de491a480aa6b
4
- data.tar.gz: 04d0e64c7c13d78b8e69d133a5d6762cf1b49c9b
5
- SHA512:
6
- metadata.gz: ef35db486fee3bed626d6b540d85c2694cb20c6a4d3662b5945eaab14ae160c5df7a87cfd3aacf63302da34661c4397e8a2e084a20709e555d2867d6b5491ba7
7
- data.tar.gz: 8a34280f1b7de910af249602071d0dc6add3d2f87f4ae15f69d69d1f98736fcf73ee2e9092610fbab9e578649f30266ee5e1b1876972860bbb1a594a63852e4a
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 61e73dfe374b644506689c0f003fff265a555c1b
4
+ data.tar.gz: d061d247a53d91d6f02bf6cf211a67e508f554e4
5
+ SHA512:
6
+ metadata.gz: f60e60c2416ba69e636fb9d1dbd9e38bb538e1f164b6b16624757934b8ca80c8a99024a7c2c5a5864a316b4e6cf4f4dd2aa10721c7b88f68ec4bd39b754732a5
7
+ data.tar.gz: d357954097bf7a6db634db33b6d00eb11d62a4905158470e0f455575c7eb04f5e88291905b8f86d7ce5b643c639b8a6a7fc67ed4762a71241f0756ca3c318949
@@ -8,6 +8,42 @@ module BillForward
8
8
  'at the time of writing, no API endpoint exists to support it.'+
9
9
  'The entity can be GETted by ID only.'
10
10
  end
11
+
12
+ def get_remaining_credit_on_account(id, query_params = {}, custom_client = nil)
13
+ credit_notes = get_by_account_id(id, query_params, custom_client)
14
+
15
+ self.count_remaining_credit credit_notes
16
+ end
17
+
18
+ def get_remaining_credit_on_subscription(id, query_params = {}, custom_client = nil)
19
+ credit_notes = get_by_subscription_id(id, query_params, custom_client)
20
+
21
+ self.count_remaining_credit credit_notes
22
+ end
23
+
24
+ def get_by_account_id(id, query_params = {}, custom_client = nil)
25
+ raise ArgumentError.new("id cannot be nil") if id.nil?
26
+
27
+ endpoint = sprintf('account/%s',
28
+ ERB::Util.url_encode(id)
29
+ )
30
+
31
+ self.request_many('get', endpoint, query_params, custom_client)
32
+ end
33
+
34
+ def get_by_subscription_id(id, query_params = {}, custom_client = nil)
35
+ raise ArgumentError.new("id cannot be nil") if id.nil?
36
+
37
+ endpoint = sprintf('subscription/%s',
38
+ ERB::Util.url_encode(id)
39
+ )
40
+
41
+ self.request_many('get', endpoint, query_params, custom_client)
42
+ end
43
+ protected
44
+ def count_remaining_credit(credit_notes)
45
+ credit_notes.map(&:remainingValue).inject(0, :+)
46
+ end
11
47
  end
12
48
  end
13
49
  end
@@ -18,10 +18,10 @@ module BillForward
18
18
  # @note As-yet untested
19
19
  #
20
20
  # @return [self] The retired Entity
21
- def delete()
22
- self.class.request_first('delete', '', nil, _client)
21
+ def delete
22
+ self.class.request_first('delete', ERB::Util.url_encode(id), nil, nil, _client)
23
23
  end
24
24
 
25
25
  alias_method :retire, :delete
26
26
  end
27
- end
27
+ end
@@ -1,4 +1,4 @@
1
1
  module BillForward
2
2
  # in an rspec run, the gemspec and bill_forward.rb loader will both visit this
3
- VERSION = "1.2015.321.1" unless const_defined?(:VERSION)
3
+ VERSION = "1.2016.26" unless const_defined?(:VERSION)
4
4
  end
metadata CHANGED
@@ -1,106 +1,83 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: bill_forward
3
- version: !ruby/object:Gem::Version
4
- version: 1.2015.321.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2016.26
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - BillForward
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-18 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
11
+
12
+ date: 2016-01-27 00:00:00 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
14
15
  name: rest-client
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ~>
18
- - !ruby/object:Gem::Version
19
- version: '1.4'
20
- type: :runtime
21
16
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ~>
25
- - !ruby/object:Gem::Version
26
- version: '1.4'
27
- - !ruby/object:Gem::Dependency
28
- name: json
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
17
+ requirement: &id001 !ruby/object:Gem::Requirement
18
+ requirements:
31
19
  - - ~>
32
- - !ruby/object:Gem::Version
33
- version: 1.8.1
20
+ - !ruby/object:Gem::Version
21
+ version: "1.4"
34
22
  type: :runtime
23
+ version_requirements: *id001
24
+ - !ruby/object:Gem::Dependency
25
+ name: json
35
26
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
27
+ requirement: &id002 !ruby/object:Gem::Requirement
28
+ requirements:
38
29
  - - ~>
39
- - !ruby/object:Gem::Version
30
+ - !ruby/object:Gem::Version
40
31
  version: 1.8.1
41
- - !ruby/object:Gem::Dependency
42
- name: require_all
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
32
  type: :runtime
33
+ version_requirements: *id002
34
+ - !ruby/object:Gem::Dependency
35
+ name: require_all
49
36
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
37
+ requirement: &id003 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - &id005
40
+ - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: "0"
43
+ type: :runtime
44
+ version_requirements: *id003
45
+ - !ruby/object:Gem::Dependency
56
46
  name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '1.6'
62
- type: :development
63
47
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
48
+ requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirements:
66
50
  - - ~>
67
- - !ruby/object:Gem::Version
68
- version: '1.6'
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
51
+ - !ruby/object:Gem::Version
52
+ version: "1.6"
76
53
  type: :development
54
+ version_requirements: *id004
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
77
57
  prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: rake
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
58
+ requirement: &id006 !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - *id005
90
61
  type: :development
62
+ version_requirements: *id006
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake
91
65
  prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
66
+ requirement: &id007 !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - *id005
69
+ type: :development
70
+ version_requirements: *id007
97
71
  description: Enables you to call the BillForward API easily using Ruby
98
- email:
72
+ email:
99
73
  - support@billforward.net
100
74
  executables: []
75
+
101
76
  extensions: []
77
+
102
78
  extra_rdoc_files: []
103
- files:
79
+
80
+ files:
104
81
  - .gitignore
105
82
  - .idea/.name
106
83
  - .idea/compiler.xml
@@ -200,30 +177,29 @@ files:
200
177
  - tools/local_bundle_build.sh
201
178
  - tools/local_bundle_install.sh
202
179
  homepage: http://www.billforward.net
203
- licenses:
180
+ licenses:
204
181
  - MIT
205
182
  metadata: {}
183
+
206
184
  post_install_message:
207
185
  rdoc_options: []
208
- require_paths:
186
+
187
+ require_paths:
209
188
  - lib
210
- required_ruby_version: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - '>='
213
- - !ruby/object:Gem::Version
214
- version: '0'
215
- required_rubygems_version: !ruby/object:Gem::Requirement
216
- requirements:
217
- - - '>='
218
- - !ruby/object:Gem::Version
219
- version: '0'
189
+ required_ruby_version: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - *id005
192
+ required_rubygems_version: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - *id005
220
195
  requirements: []
196
+
221
197
  rubyforge_project:
222
- rubygems_version: 2.4.6
198
+ rubygems_version: 2.0.14
223
199
  signing_key:
224
200
  specification_version: 4
225
201
  summary: BillForward Ruby Client Library
226
- test_files:
202
+ test_files:
227
203
  - spec/component/account_spec.rb
228
204
  - spec/component/billing_entity_spec.rb
229
205
  - spec/component/invoice_spec.rb