recurly 3.0.0.beta.5 → 3.0.0
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 +5 -5
- data/.bumpversion.cfg +12 -0
- data/.travis.yml +2 -2
- data/.yardopts +3 -0
- data/CONTRIBUTING.md +102 -0
- data/GETTING_STARTED.md +266 -0
- data/README.md +12 -194
- data/benchmark.rb +16 -0
- data/lib/recurly.rb +4 -7
- data/lib/recurly/client.rb +60 -60
- data/lib/recurly/client/operations.rb +498 -340
- data/lib/recurly/errors.rb +4 -0
- data/lib/recurly/http.rb +43 -0
- data/lib/recurly/pager.rb +4 -10
- data/lib/recurly/request.rb +6 -6
- data/lib/recurly/requests.rb +8 -0
- data/lib/recurly/requests/account_acquisition_updatable.rb +2 -2
- data/lib/recurly/requests/billing_info_create.rb +4 -0
- data/lib/recurly/requests/custom_field.rb +18 -0
- data/lib/recurly/requests/invoice_create.rb +0 -4
- data/lib/recurly/requests/invoice_refund.rb +2 -2
- data/lib/recurly/requests/line_item_create.rb +4 -0
- data/lib/recurly/requests/purchase_create.rb +3 -7
- data/lib/recurly/requests/shipping_fee_create.rb +22 -0
- data/lib/recurly/requests/shipping_purchase.rb +22 -0
- data/lib/recurly/requests/subscription_add_on_create.rb +2 -6
- data/lib/recurly/requests/subscription_add_on_update.rb +26 -0
- data/lib/recurly/requests/subscription_change_create.rb +7 -3
- data/lib/recurly/requests/subscription_change_shipping_create.rb +22 -0
- data/lib/recurly/requests/subscription_create.rb +4 -8
- data/lib/recurly/requests/subscription_shipping_create.rb +30 -0
- data/lib/recurly/requests/subscription_shipping_update.rb +22 -0
- data/lib/recurly/requests/subscription_update.rb +3 -7
- data/lib/recurly/resource.rb +14 -1
- data/lib/recurly/resources.rb +17 -0
- data/lib/recurly/resources/account_acquisition.rb +2 -2
- data/lib/recurly/resources/add_on.rb +1 -1
- data/lib/recurly/resources/billing_info.rb +6 -6
- data/lib/recurly/resources/coupon.rb +1 -1
- data/lib/recurly/resources/coupon_discount.rb +2 -2
- data/lib/recurly/resources/coupon_redemption.rb +2 -2
- data/lib/recurly/resources/coupon_redemption_mini.rb +2 -2
- data/lib/recurly/resources/error_may_have_transaction.rb +2 -2
- data/lib/recurly/resources/invoice.rb +4 -0
- data/lib/recurly/resources/line_item.rb +1 -1
- data/lib/recurly/resources/{billing_info_payment_method.rb → payment_method.rb} +18 -2
- data/lib/recurly/resources/plan.rb +1 -1
- data/lib/recurly/resources/shipping_method.rb +42 -0
- data/lib/recurly/resources/shipping_method_mini.rb +26 -0
- data/lib/recurly/resources/subscription.rb +3 -3
- data/lib/recurly/resources/subscription_change.rb +4 -0
- data/lib/recurly/resources/subscription_shipping.rb +26 -0
- data/lib/recurly/resources/transaction.rb +4 -4
- data/lib/recurly/resources/transaction_error.rb +30 -0
- data/lib/recurly/schema.rb +85 -49
- data/lib/recurly/schema/json_parser.rb +16 -8
- data/lib/recurly/schema/request_caster.rb +10 -16
- data/lib/recurly/schema/resource_caster.rb +48 -0
- data/lib/recurly/schema/schema_factory.rb +0 -2
- data/lib/recurly/schema/schema_validator.rb +11 -14
- data/lib/recurly/version.rb +1 -1
- data/recurly.gemspec +6 -6
- data/scripts/build +1 -0
- data/scripts/bump +4 -0
- data/scripts/format +2 -0
- data/scripts/release +11 -0
- data/scripts/test +1 -0
- metadata +38 -20
- data/.ruby-version +0 -1
- data/lib/recurly/resources/transaction_payment_method.rb +0 -34
- data/lib/recurly/schema/json_deserializer.rb +0 -56
@@ -1,8 +1,9 @@
|
|
1
1
|
require "json"
|
2
2
|
|
3
3
|
module Recurly
|
4
|
-
# This is a wrapper class to help parse
|
4
|
+
# This is a wrapper class to help parse http response into Recurly objects.
|
5
5
|
class JSONParser
|
6
|
+
|
6
7
|
# Parses the json body into a recurly object.
|
7
8
|
#
|
8
9
|
# @param client [Client] The Recurly client which made the request.
|
@@ -17,13 +18,18 @@ module Recurly
|
|
17
18
|
|
18
19
|
# Converts the parsed JSON into a Recurly object.
|
19
20
|
#
|
21
|
+
# *TODO*: Instead of inferring this type from the `object`
|
22
|
+
# attribute. We should instead "register" the response type
|
23
|
+
# in the client/operations code. The `get`, `post`, etc methods
|
24
|
+
# could explicitly state their response types.
|
25
|
+
#
|
20
26
|
# @param data [Hash] The parsed JSON data
|
21
27
|
# @return [Error,Resource]
|
22
28
|
def self.from_json(data)
|
23
29
|
type = if data.has_key?("error")
|
24
30
|
"error"
|
25
31
|
else
|
26
|
-
data
|
32
|
+
data["object"]
|
27
33
|
end
|
28
34
|
klazz = self.recurly_class(type)
|
29
35
|
|
@@ -33,15 +39,14 @@ module Recurly
|
|
33
39
|
|
34
40
|
data = data["error"] if klazz == Resources::Error
|
35
41
|
|
36
|
-
klazz.
|
42
|
+
klazz.cast(data)
|
37
43
|
end
|
38
44
|
|
39
45
|
# Returns the Recurly ruby class responsible for the Recurly json key.
|
40
|
-
# TODO figure out how we should handle nil types
|
41
46
|
#
|
42
47
|
# @example
|
43
48
|
# JSONParser.recurly_class('list')
|
44
|
-
# #=> Recurly::
|
49
|
+
# #=> Recurly::Page
|
45
50
|
# @example
|
46
51
|
# JSONParser.recurly_class('shipping_address')
|
47
52
|
# #=> Recurly::Resources::ShippingAddress
|
@@ -53,7 +58,7 @@ module Recurly
|
|
53
58
|
when nil
|
54
59
|
nil
|
55
60
|
when "list"
|
56
|
-
|
61
|
+
Resources::Page
|
57
62
|
else
|
58
63
|
type_camelized = type.split("_").map(&:capitalize).join
|
59
64
|
if Resources.const_defined?(type_camelized)
|
@@ -61,8 +66,11 @@ module Recurly
|
|
61
66
|
if klazz.ancestors.include?(Resource)
|
62
67
|
klazz
|
63
68
|
else
|
64
|
-
|
65
|
-
|
69
|
+
if Recurly::STRICT_MODE
|
70
|
+
raise ArgumentError, "Could not find Recurly Resource responsible for key #{type}"
|
71
|
+
else
|
72
|
+
nil
|
73
|
+
end
|
66
74
|
end
|
67
75
|
end
|
68
76
|
end
|
@@ -2,19 +2,20 @@ require "date"
|
|
2
2
|
|
3
3
|
module Recurly
|
4
4
|
class Schema
|
5
|
-
# *Note*: This
|
5
|
+
# *Note*: This module is for internal use.
|
6
6
|
# The RequestCaster turns mixed data into a pure Hash
|
7
7
|
# so it can be serialized into JSON and used as the body of a request.
|
8
8
|
# This module is to be extended by the Request class.
|
9
9
|
module RequestCaster
|
10
|
+
|
10
11
|
# This method casts the data object (of mixed types) into a Hash ready for JSON
|
11
12
|
# serialization. The *schema* will default to the self's schema.
|
12
13
|
# You should pass in the schema where possible. This is because objects are serialized
|
13
14
|
# differently depending on the context in which they are being written.
|
14
15
|
#
|
15
16
|
# @example
|
16
|
-
# Recurly::Requests::AccountUpdatable.cast(
|
17
|
-
# #=> {:
|
17
|
+
# Recurly::Requests::AccountUpdatable.cast(code: 'benjamin')
|
18
|
+
# #=> {:code=>"benjamin"}
|
18
19
|
# @example
|
19
20
|
# # If you have some mixed data, like passing in an Address, it should cast that
|
20
21
|
# # address into a Hash based on the Schema defined in AccountUpdatable
|
@@ -25,26 +26,26 @@ module Recurly
|
|
25
26
|
# @param data [Hash,Resource,Request] The data to transform into a JSON Hash.
|
26
27
|
# @param schema [Schema] The schema to use to transform the data into a JSON Hash.
|
27
28
|
# @return [Hash] The pure Hash ready to be serialized into JSON.
|
28
|
-
def
|
29
|
+
def cast_request(data, schema = self.schema)
|
29
30
|
casted = {}
|
30
31
|
if data.is_a?(Resource) || data.is_a?(Request)
|
31
|
-
data =
|
32
|
+
data = data.attributes.reject { |_k, v| v.nil? }
|
32
33
|
end
|
33
34
|
|
34
35
|
data.each do |k, v|
|
35
36
|
schema_attr = schema.get_attribute(k)
|
36
37
|
norm_val = if v.respond_to?(:attributes)
|
37
|
-
|
38
|
+
cast_request(v, v.class.schema)
|
38
39
|
elsif v.is_a?(Array)
|
39
40
|
v.map do |elem|
|
40
41
|
if elem.respond_to?(:attributes)
|
41
|
-
|
42
|
+
cast_request(elem, elem.class.schema)
|
42
43
|
else
|
43
44
|
elem
|
44
45
|
end
|
45
46
|
end
|
46
|
-
elsif v.is_a?(Hash) && schema_attr && schema_attr.
|
47
|
-
|
47
|
+
elsif v.is_a?(Hash) && schema_attr && schema_attr.is_a?(Schema::ResourceAttribute)
|
48
|
+
cast_request(v, schema_attr.recurly_class.schema)
|
48
49
|
else
|
49
50
|
v
|
50
51
|
end
|
@@ -54,13 +55,6 @@ module Recurly
|
|
54
55
|
|
55
56
|
casted
|
56
57
|
end
|
57
|
-
|
58
|
-
private
|
59
|
-
|
60
|
-
def as_json(resource, schema)
|
61
|
-
writeable_attributes = schema.attributes.reject(&:read_only?).map(&:name)
|
62
|
-
resource.attributes.select { |k, _| writeable_attributes.include?(k) }
|
63
|
-
end
|
64
58
|
end
|
65
59
|
end
|
66
60
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require "date"
|
2
|
+
|
3
|
+
module Recurly
|
4
|
+
class Schema
|
5
|
+
# The purpose of this class is to turn JSON parsed Hashes
|
6
|
+
# defined into Recurly ruby objects. It's to be used
|
7
|
+
# by the Resource as an extension.
|
8
|
+
module ResourceCaster
|
9
|
+
|
10
|
+
# Gives the class the ability to initialize itself
|
11
|
+
# given some json data.
|
12
|
+
#
|
13
|
+
# @example
|
14
|
+
# Recurly::Resources::Account.cast({"code" => "mycode"})
|
15
|
+
# #=> #<Recurly::Resources::Account @attributes={:code=>"mycode"}>
|
16
|
+
#
|
17
|
+
# @param attributes [Hash] A primitive Hash from JSON.parse of Recurly response.
|
18
|
+
# @return [Resource] the {Resource} (ruby object) representing the passed in JSON data.
|
19
|
+
def cast(attributes = {})
|
20
|
+
resource = new()
|
21
|
+
attributes.each do |attr_name, val|
|
22
|
+
next if attr_name == "object"
|
23
|
+
|
24
|
+
schema_attr = self.schema.get_attribute(attr_name)
|
25
|
+
|
26
|
+
if schema_attr
|
27
|
+
val = if val.nil?
|
28
|
+
val
|
29
|
+
elsif schema_attr.is_valid?(val)
|
30
|
+
schema_attr.cast(val)
|
31
|
+
else
|
32
|
+
if Recurly::STRICT_MODE
|
33
|
+
msg = "#{self.class}##{attr_name} does not have the right type. Value: #{val.inspect} was expected to be a #{schema_attr}"
|
34
|
+
raise ArgumentError, msg
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
writer = "#{attr_name}="
|
39
|
+
resource.send(writer, val)
|
40
|
+
elsif Recurly::STRICT_MODE
|
41
|
+
raise ArgumentError, "#{resource.class.name} encountered json attribute #{attr_name.inspect}: #{val.inspect} but it's unknown to it's schema"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
resource
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -24,45 +24,42 @@ module Recurly
|
|
24
24
|
err_msg = "Attribute '#{attr_name}' does not exist on request #{self.class.name}."
|
25
25
|
if did_you_mean = get_did_you_mean(schema, attr_name)
|
26
26
|
err_msg << " Did you mean '#{did_you_mean}'?"
|
27
|
-
raise ArgumentError, err_msg
|
28
27
|
end
|
29
|
-
|
30
|
-
raise ArgumentError, "Attribute '#{attr_name}' on resource #{self.class.name} is not writeable"
|
28
|
+
raise ArgumentError, err_msg
|
31
29
|
else
|
32
|
-
validate_attribute!(schema_attr, val)
|
30
|
+
validate_attribute!(attr_name, schema_attr, val)
|
33
31
|
end
|
34
32
|
end
|
35
33
|
end
|
36
34
|
|
37
35
|
# Validates an individual attribute
|
38
|
-
def validate_attribute!(schema_attr, val)
|
39
|
-
unless schema_attr.
|
36
|
+
def validate_attribute!(name, schema_attr, val)
|
37
|
+
unless schema_attr.is_valid?(val)
|
40
38
|
# If it's safely castable, the json deserializer or server
|
41
39
|
# will take care of it for us
|
42
40
|
unless safely_castable?(val.class, schema_attr.type)
|
43
|
-
expected = case schema_attr
|
44
|
-
when
|
45
|
-
"Array of #{schema_attr.type
|
41
|
+
expected = case schema_attr
|
42
|
+
when Schema::ArrayAttribute
|
43
|
+
"Array of #{schema_attr.type}s"
|
46
44
|
else
|
47
45
|
schema_attr.type
|
48
46
|
end
|
49
47
|
|
50
|
-
raise ArgumentError, "Attribute '#{
|
48
|
+
raise ArgumentError, "Attribute '#{name}' on the resource #{self.class.name} is type #{val.class} but should be a #{expected}"
|
51
49
|
end
|
52
50
|
end
|
53
51
|
|
54
52
|
# This is the convention for a recurly object
|
55
|
-
if schema_attr.
|
56
|
-
klazz = Schema.get_recurly_class(schema_attr.type)
|
53
|
+
if schema_attr.is_a?(Schema::ResourceAttribute) && val.is_a?(Hash)
|
57
54
|
# Using send because the initializer may be private
|
58
|
-
instance =
|
55
|
+
instance = schema_attr.recurly_class.send(:new, val)
|
59
56
|
instance.validate!
|
60
57
|
end
|
61
58
|
end
|
62
59
|
|
63
60
|
# Gets the closest term to the misspelled attribute
|
64
61
|
def get_did_you_mean(schema, misspelled_attr)
|
65
|
-
closest = schema.attributes.
|
62
|
+
closest = schema.attributes.keys.sort_by do |v|
|
66
63
|
levenshtein_distance(v, misspelled_attr)
|
67
64
|
end.first
|
68
65
|
|
data/lib/recurly/version.rb
CHANGED
data/recurly.gemspec
CHANGED
@@ -7,11 +7,11 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = "recurly"
|
8
8
|
spec.version = Recurly::VERSION
|
9
9
|
spec.authors = ["Recurly"]
|
10
|
-
spec.email = ["
|
10
|
+
spec.email = ["dx@recurly.com"]
|
11
11
|
|
12
|
-
spec.summary = "The ruby client for Recurly's
|
13
|
-
spec.description = "The ruby client for Recurly's
|
14
|
-
spec.homepage = "https://
|
12
|
+
spec.summary = "The ruby client for Recurly's V3 API"
|
13
|
+
spec.description = "The ruby client for Recurly's V3 API"
|
14
|
+
spec.homepage = "https://github.com/recurly/recurly-client-ruby"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
@@ -21,10 +21,10 @@ Gem::Specification.new do |spec|
|
|
21
21
|
# spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
|
-
spec.add_dependency "faraday", ">= 0.8.11", "
|
24
|
+
spec.add_dependency "faraday", ">= 0.8.11", "< 0.16"
|
25
25
|
|
26
26
|
spec.add_development_dependency "net-http-persistent", "~> 2.9.4"
|
27
|
-
spec.add_development_dependency "bundler", "~>
|
27
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
28
28
|
spec.add_development_dependency "rake", "~> 10.0"
|
29
29
|
spec.add_development_dependency "rspec", "~> 3.0"
|
30
30
|
spec.add_development_dependency "yard", "~> 0.9"
|
data/scripts/build
CHANGED
data/scripts/bump
ADDED
data/scripts/format
CHANGED
data/scripts/release
ADDED
data/scripts/test
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: recurly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Recurly
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -17,9 +17,9 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.8.11
|
20
|
-
- - "
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: '0.16'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -27,9 +27,9 @@ dependencies:
|
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 0.8.11
|
30
|
-
- - "
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: '0.16'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: net-http-persistent
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,14 +50,14 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '2.0'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
60
|
+
version: '2.0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: rake
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,21 +142,25 @@ dependencies:
|
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0.7'
|
145
|
-
description: The ruby client for Recurly's
|
145
|
+
description: The ruby client for Recurly's V3 API
|
146
146
|
email:
|
147
|
-
-
|
147
|
+
- dx@recurly.com
|
148
148
|
executables: []
|
149
149
|
extensions: []
|
150
150
|
extra_rdoc_files: []
|
151
151
|
files:
|
152
|
+
- ".bumpversion.cfg"
|
152
153
|
- ".gitignore"
|
153
154
|
- ".rspec"
|
154
|
-
- ".ruby-version"
|
155
155
|
- ".travis.yml"
|
156
|
+
- ".yardopts"
|
157
|
+
- CONTRIBUTING.md
|
158
|
+
- GETTING_STARTED.md
|
156
159
|
- Gemfile
|
157
160
|
- LICENSE.txt
|
158
161
|
- README.md
|
159
162
|
- Rakefile
|
163
|
+
- benchmark.rb
|
160
164
|
- lib/data/ca-certificates.crt
|
161
165
|
- lib/recurly.rb
|
162
166
|
- lib/recurly/client.rb
|
@@ -165,8 +169,10 @@ files:
|
|
165
169
|
- lib/recurly/errors.rb
|
166
170
|
- lib/recurly/errors/api_errors.rb
|
167
171
|
- lib/recurly/errors/network_errors.rb
|
172
|
+
- lib/recurly/http.rb
|
168
173
|
- lib/recurly/pager.rb
|
169
174
|
- lib/recurly/request.rb
|
175
|
+
- lib/recurly/requests.rb
|
170
176
|
- lib/recurly/requests/account_acquisition_cost.rb
|
171
177
|
- lib/recurly/requests/account_acquisition_updatable.rb
|
172
178
|
- lib/recurly/requests/account_create.rb
|
@@ -182,6 +188,7 @@ files:
|
|
182
188
|
- lib/recurly/requests/coupon_pricing.rb
|
183
189
|
- lib/recurly/requests/coupon_redemption_create.rb
|
184
190
|
- lib/recurly/requests/coupon_update.rb
|
191
|
+
- lib/recurly/requests/custom_field.rb
|
185
192
|
- lib/recurly/requests/external_refund.rb
|
186
193
|
- lib/recurly/requests/invoice_address.rb
|
187
194
|
- lib/recurly/requests/invoice_create.rb
|
@@ -196,14 +203,21 @@ files:
|
|
196
203
|
- lib/recurly/requests/purchase_create.rb
|
197
204
|
- lib/recurly/requests/shipping_address_create.rb
|
198
205
|
- lib/recurly/requests/shipping_address_update.rb
|
206
|
+
- lib/recurly/requests/shipping_fee_create.rb
|
207
|
+
- lib/recurly/requests/shipping_purchase.rb
|
199
208
|
- lib/recurly/requests/subscription_add_on_create.rb
|
209
|
+
- lib/recurly/requests/subscription_add_on_update.rb
|
200
210
|
- lib/recurly/requests/subscription_change_create.rb
|
211
|
+
- lib/recurly/requests/subscription_change_shipping_create.rb
|
201
212
|
- lib/recurly/requests/subscription_create.rb
|
202
213
|
- lib/recurly/requests/subscription_pause.rb
|
203
214
|
- lib/recurly/requests/subscription_purchase.rb
|
215
|
+
- lib/recurly/requests/subscription_shipping_create.rb
|
204
216
|
- lib/recurly/requests/subscription_shipping_purchase.rb
|
217
|
+
- lib/recurly/requests/subscription_shipping_update.rb
|
205
218
|
- lib/recurly/requests/subscription_update.rb
|
206
219
|
- lib/recurly/resource.rb
|
220
|
+
- lib/recurly/resources.rb
|
207
221
|
- lib/recurly/resources/account.rb
|
208
222
|
- lib/recurly/resources/account_acquisition.rb
|
209
223
|
- lib/recurly/resources/account_acquisition_cost.rb
|
@@ -216,7 +230,6 @@ files:
|
|
216
230
|
- lib/recurly/resources/add_on_pricing.rb
|
217
231
|
- lib/recurly/resources/address.rb
|
218
232
|
- lib/recurly/resources/billing_info.rb
|
219
|
-
- lib/recurly/resources/billing_info_payment_method.rb
|
220
233
|
- lib/recurly/resources/billing_info_updated_by.rb
|
221
234
|
- lib/recurly/resources/coupon.rb
|
222
235
|
- lib/recurly/resources/coupon_discount.rb
|
@@ -237,35 +250,41 @@ files:
|
|
237
250
|
- lib/recurly/resources/invoice_mini.rb
|
238
251
|
- lib/recurly/resources/line_item.rb
|
239
252
|
- lib/recurly/resources/line_item_list.rb
|
253
|
+
- lib/recurly/resources/payment_method.rb
|
240
254
|
- lib/recurly/resources/plan.rb
|
241
255
|
- lib/recurly/resources/plan_hosted_pages.rb
|
242
256
|
- lib/recurly/resources/plan_mini.rb
|
243
257
|
- lib/recurly/resources/plan_pricing.rb
|
244
258
|
- lib/recurly/resources/settings.rb
|
245
259
|
- lib/recurly/resources/shipping_address.rb
|
260
|
+
- lib/recurly/resources/shipping_method.rb
|
261
|
+
- lib/recurly/resources/shipping_method_mini.rb
|
246
262
|
- lib/recurly/resources/site.rb
|
247
263
|
- lib/recurly/resources/subscription.rb
|
248
264
|
- lib/recurly/resources/subscription_add_on.rb
|
249
265
|
- lib/recurly/resources/subscription_change.rb
|
266
|
+
- lib/recurly/resources/subscription_shipping.rb
|
250
267
|
- lib/recurly/resources/tax_info.rb
|
251
268
|
- lib/recurly/resources/transaction.rb
|
269
|
+
- lib/recurly/resources/transaction_error.rb
|
252
270
|
- lib/recurly/resources/transaction_payment_gateway.rb
|
253
|
-
- lib/recurly/resources/transaction_payment_method.rb
|
254
271
|
- lib/recurly/resources/unique_coupon_code.rb
|
255
272
|
- lib/recurly/resources/user.rb
|
256
273
|
- lib/recurly/schema.rb
|
257
|
-
- lib/recurly/schema/json_deserializer.rb
|
258
274
|
- lib/recurly/schema/json_parser.rb
|
259
275
|
- lib/recurly/schema/request_caster.rb
|
276
|
+
- lib/recurly/schema/resource_caster.rb
|
260
277
|
- lib/recurly/schema/schema_factory.rb
|
261
278
|
- lib/recurly/schema/schema_validator.rb
|
262
279
|
- lib/recurly/version.rb
|
263
280
|
- recurly.gemspec
|
264
281
|
- scripts/build
|
282
|
+
- scripts/bump
|
265
283
|
- scripts/clean
|
266
284
|
- scripts/format
|
285
|
+
- scripts/release
|
267
286
|
- scripts/test
|
268
|
-
homepage: https://
|
287
|
+
homepage: https://github.com/recurly/recurly-client-ruby
|
269
288
|
licenses:
|
270
289
|
- MIT
|
271
290
|
metadata: {}
|
@@ -280,13 +299,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
280
299
|
version: '0'
|
281
300
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
282
301
|
requirements:
|
283
|
-
- - "
|
302
|
+
- - ">="
|
284
303
|
- !ruby/object:Gem::Version
|
285
|
-
version:
|
304
|
+
version: '0'
|
286
305
|
requirements: []
|
287
|
-
|
288
|
-
rubygems_version: 2.6.14.3
|
306
|
+
rubygems_version: 3.0.6
|
289
307
|
signing_key:
|
290
308
|
specification_version: 4
|
291
|
-
summary: The ruby client for Recurly's
|
309
|
+
summary: The ruby client for Recurly's V3 API
|
292
310
|
test_files: []
|