chargify_api_ares 1.0.5 → 1.1.0.pre

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
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2caae8888bb7f0c0d3b233532c05ce0d38276965
4
- data.tar.gz: d7924e0dfccd7f0077f06a78e6779a87b7f65c40
3
+ metadata.gz: 01809c6f4c91b20f5829c4fdb5c2b08431e14289
4
+ data.tar.gz: 1d3b7638b00c56e4ab7a135c284264d173069343
5
5
  SHA512:
6
- metadata.gz: 13c421925c09b7062a12ac605d97bf2e02dcef6b8dbd45640bb8134253f7ed217cc2489667680266f5bd53ce0b708170dfe8a5fbd0cef2016f9ae9abf40088a1
7
- data.tar.gz: 9c9ad7f26b9f0e1900ad026b464b95a8507949f264e0289d0d8d1a66f28da7f7352c7f20d3ab80f89394e680783a89d23f7a293d32b31271e1e3512a892329c1
6
+ metadata.gz: 6a84cbe5f8e4bb0d8fb999a5f9c033a1d903210205311213a93ff7e64705d9b6e71f71404c2637bbceaacfa68c67ff135e9c6a0014b5f023dac44b1774b158a6
7
+ data.tar.gz: 0f7553535d73a840bca38e7cefa0550de4f747ecf311983bb5559c5b44e9d0d32a1df3a4a609eaa2924dca785a4a5a3ec620197193b82c0536abfdd18ab6c3d7
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in chargify_api_ares.gemspec
4
4
  gemspec
data/Gemfile.lock CHANGED
@@ -2,19 +2,19 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  chargify_api_ares (1.0.5)
5
- activeresource (>= 3.0.0)
5
+ activeresource (~> 3.2.16)
6
6
 
7
7
  GEM
8
- remote: http://rubygems.org/
8
+ remote: https://rubygems.org/
9
9
  specs:
10
- activemodel (3.2.12)
11
- activesupport (= 3.2.12)
10
+ activemodel (3.2.19)
11
+ activesupport (= 3.2.19)
12
12
  builder (~> 3.0.0)
13
- activeresource (3.2.12)
14
- activemodel (= 3.2.12)
15
- activesupport (= 3.2.12)
16
- activesupport (3.2.12)
17
- i18n (~> 0.6)
13
+ activeresource (3.2.19)
14
+ activemodel (= 3.2.19)
15
+ activesupport (= 3.2.19)
16
+ activesupport (3.2.19)
17
+ i18n (~> 0.6, >= 0.6.4)
18
18
  multi_json (~> 1.0)
19
19
  builder (3.0.4)
20
20
  coderay (1.0.8)
@@ -34,11 +34,11 @@ GEM
34
34
  guard-rspec (2.4.0)
35
35
  guard (>= 1.1)
36
36
  rspec (~> 2.11)
37
- i18n (0.6.1)
37
+ i18n (0.6.11)
38
38
  listen (0.7.2)
39
39
  lumberjack (1.0.2)
40
40
  method_source (0.8.1)
41
- multi_json (1.6.1)
41
+ multi_json (1.10.1)
42
42
  pry (0.9.12)
43
43
  coderay (~> 1.0.5)
44
44
  method_source (~> 0.8)
@@ -67,7 +67,7 @@ DEPENDENCIES
67
67
  fakeweb (~> 1.3.0)
68
68
  growl (~> 1.0.3)
69
69
  guard-rspec (~> 2.4.0)
70
- pry (~> 0.9.12)
70
+ pry
71
71
  rake (~> 10.0.3)
72
72
  rb-fsevent (~> 0.9.2)
73
73
  rspec (~> 2.12.0)
data/HISTORY.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## 1.0.5 / May 11 2014
2
+
3
+ ### Backwards-incompatible changes
4
+ * `Chargify::Subscription` methods no longer raise exception when there is a validation error. Now you must inspect the subscription object for errors. eg:
5
+
6
+ ```ruby
7
+ subscription.reactivate
8
+
9
+ if subscription.errors.any?
10
+ # handle errors
11
+ end
12
+ ```
13
+
1
14
  ## 1.0.0 / Nov 19 2013
2
15
 
3
16
  ### Backwards-incompatible changes
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
4
4
  s.rubygems_version = '1.3.7'
5
5
 
6
6
  s.name = 'chargify_api_ares'
7
- s.version = '1.0.5'
8
- s.date = '2014-01-21'
7
+ s.version = '1.1.0.pre'
8
+ s.date = '2014-08-08'
9
9
  s.summary = 'A Chargify API wrapper for Ruby using ActiveResource'
10
10
  s.description = ''
11
11
  s.authors = ["Michael Klett", "Nathan Verni", "Jeremy W. Rowe", "Eric Farkas"]
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  s.require_paths = %w[lib]
18
18
 
19
19
  # Runtime Dependencies
20
- s.add_runtime_dependency('activeresource', '>= 3.0.0')
20
+ s.add_runtime_dependency('activeresource', '~> 3.2.16')
21
21
 
22
22
  # Development Dependencies
23
23
  s.add_development_dependency('rake', '~> 10.0.3')
@@ -28,5 +28,5 @@ Gem::Specification.new do |s|
28
28
  s.add_development_dependency('guard-rspec', '~> 2.4.0')
29
29
  s.add_development_dependency('growl', '~> 1.0.3')
30
30
  s.add_development_dependency('rb-fsevent', '~> 0.9.2')
31
- s.add_development_dependency('pry', '~> 0.9.12')
31
+ s.add_development_dependency('pry')
32
32
  end
@@ -1,6 +1,7 @@
1
1
  require 'active_resource'
2
2
  require 'chargify_api_ares/config'
3
3
  require 'chargify_api_ares/response_helper'
4
+ require 'chargify_api_ares/metafield_xml_formatter'
4
5
  require 'chargify_api_ares/resources/base'
5
6
  require 'chargify_api_ares/resources/charge'
6
7
  require 'chargify_api_ares/resources/component'
@@ -19,6 +20,9 @@ require 'chargify_api_ares/resources/transaction'
19
20
  require 'chargify_api_ares/resources/usage'
20
21
  require 'chargify_api_ares/resources/webhook'
21
22
  require 'chargify_api_ares/resources/invoice'
23
+ require 'chargify_api_ares/resources/metafield'
24
+ require 'chargify_api_ares/resources/customer_metafield'
25
+ require 'chargify_api_ares/resources/subscription_metafield'
22
26
 
23
27
  require 'active_resource/version'
24
28
  if defined?(::ActiveResource::VERSION::MAJOR) &&
@@ -0,0 +1,10 @@
1
+ module Chargify
2
+ class MetafieldXMLFormatter
3
+ include ActiveResource::Formats::XmlFormat
4
+
5
+ def decode(xml)
6
+ ActiveResource::Formats::XmlFormat.decode(xml)['metafields']
7
+ end
8
+ end
9
+ end
10
+
@@ -0,0 +1,5 @@
1
+ module Chargify
2
+ class CustomerMetafield < Metafield
3
+ self.prefix = "/customers/"
4
+ end
5
+ end
@@ -0,0 +1,67 @@
1
+ module Chargify
2
+ class Metafield < Base
3
+ def on_csv_export?
4
+ scope.csv == "1" || scope.csv == true
5
+ end
6
+
7
+ def on_csv_export=(value)
8
+ value = (value == true || value == '1') ? '1' : '0'
9
+ scope.csv = value
10
+ end
11
+
12
+ def on_hosted_pages?
13
+ scope.hosted.any?
14
+ end
15
+
16
+ def on_hosted_pages=(*products)
17
+ scope.hosted = Array(products).flatten.map(&:to_s)
18
+ end
19
+
20
+ def on_hosted_pages
21
+ scope.hosted
22
+ end
23
+
24
+ # Private Interface
25
+
26
+ def self.resource; "metafield"; end
27
+ def self.element_name; "metafields"; end
28
+
29
+ def self.instantiate_record(record, prefix_options = {})
30
+ record = record.is_a?(Array) ? record.first : record
31
+ new(record, true).tap do |resource|
32
+ resource.prefix_options = prefix_options
33
+ resource.current_name = resource.name
34
+ end
35
+ end
36
+
37
+ def self.instantiate_collection(collection, prefix_options = {})
38
+ collection['metafields'].collect! { |record| instantiate_record(record, prefix_options) }
39
+ end
40
+
41
+ def load_attributes_from_response(response)
42
+ if (response_code_allows_body?(response.code) &&
43
+ (response['Content-Length'].nil? || response['Content-Length'] != "0") &&
44
+ !response.body.nil? && response.body.strip.size > 0)
45
+ attributes = self.class.format.decode(response.body)
46
+ attributes = attributes.is_a?(Array) ? attributes.first : attributes
47
+
48
+ resource = load(attributes, true)
49
+ resource.current_name = resource.name
50
+ @persisted = true
51
+ end
52
+ end
53
+
54
+ def reload
55
+ raise NotImplementedError, 'Metafields do not support loading of a single record'
56
+ end
57
+
58
+ def destroy
59
+ connection.delete("#{element_path}?current_name=#{URI.encode(current_name)}")
60
+ end
61
+
62
+ def element_path(id = nil, prefix_options = {}, query_options = nil)
63
+ "#{self.class.prefix}#{self.class.element_name}.xml"
64
+ end
65
+ end
66
+ end
67
+
@@ -0,0 +1,5 @@
1
+ module Chargify
2
+ class SubscriptionMetafield < Metafield
3
+ self.prefix = "/subscriptions/"
4
+ end
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chargify_api_ares
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.1.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Klett
@@ -11,22 +11,22 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-01-21 00:00:00.000000000 Z
14
+ date: 2014-08-08 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activeresource
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - ">="
20
+ - - "~>"
21
21
  - !ruby/object:Gem::Version
22
- version: 3.0.0
22
+ version: 3.2.16
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ">="
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 3.0.0
29
+ version: 3.2.16
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rake
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -143,16 +143,16 @@ dependencies:
143
143
  name: pry
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  requirements:
146
- - - "~>"
146
+ - - ">="
147
147
  - !ruby/object:Gem::Version
148
- version: 0.9.12
148
+ version: '0'
149
149
  type: :development
150
150
  prerelease: false
151
151
  version_requirements: !ruby/object:Gem::Requirement
152
152
  requirements:
153
- - - "~>"
153
+ - - ">="
154
154
  - !ruby/object:Gem::Version
155
- version: 0.9.12
155
+ version: '0'
156
156
  description: ''
157
157
  email: support@chargify.com
158
158
  executables: []
@@ -180,13 +180,16 @@ files:
180
180
  - examples/transactions.rb
181
181
  - lib/chargify_api_ares.rb
182
182
  - lib/chargify_api_ares/config.rb
183
+ - lib/chargify_api_ares/metafield_xml_formatter.rb
183
184
  - lib/chargify_api_ares/resources/base.rb
184
185
  - lib/chargify_api_ares/resources/charge.rb
185
186
  - lib/chargify_api_ares/resources/component.rb
186
187
  - lib/chargify_api_ares/resources/coupon.rb
187
188
  - lib/chargify_api_ares/resources/customer.rb
189
+ - lib/chargify_api_ares/resources/customer_metafield.rb
188
190
  - lib/chargify_api_ares/resources/event.rb
189
191
  - lib/chargify_api_ares/resources/invoice.rb
192
+ - lib/chargify_api_ares/resources/metafield.rb
190
193
  - lib/chargify_api_ares/resources/migration.rb
191
194
  - lib/chargify_api_ares/resources/payment_profile.rb
192
195
  - lib/chargify_api_ares/resources/product.rb
@@ -195,6 +198,7 @@ files:
195
198
  - lib/chargify_api_ares/resources/site.rb
196
199
  - lib/chargify_api_ares/resources/statement.rb
197
200
  - lib/chargify_api_ares/resources/subscription.rb
201
+ - lib/chargify_api_ares/resources/subscription_metafield.rb
198
202
  - lib/chargify_api_ares/resources/transaction.rb
199
203
  - lib/chargify_api_ares/resources/usage.rb
200
204
  - lib/chargify_api_ares/resources/webhook.rb
@@ -234,9 +238,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
234
238
  version: '0'
235
239
  required_rubygems_version: !ruby/object:Gem::Requirement
236
240
  requirements:
237
- - - ">="
241
+ - - ">"
238
242
  - !ruby/object:Gem::Version
239
- version: '0'
243
+ version: 1.3.1
240
244
  requirements: []
241
245
  rubyforge_project:
242
246
  rubygems_version: 2.2.2