gecko-ruby 0.9.0 → 0.12.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.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/.github/config/rubocop_linter_action.yml +7 -0
  3. data/.github/workflows/testing.yml +26 -0
  4. data/.rubocop.yml +23 -16
  5. data/CHANGELOG.md +18 -0
  6. data/Gemfile +2 -0
  7. data/README.md +1 -1
  8. data/Rakefile +3 -1
  9. data/gecko-ruby.gemspec +11 -10
  10. data/generate.thor +4 -1
  11. data/lib/gecko-ruby.rb +2 -0
  12. data/lib/gecko.rb +2 -0
  13. data/lib/gecko/client.rb +16 -14
  14. data/lib/gecko/ext/liquid_compat.rb +11 -9
  15. data/lib/gecko/ext/log_subscriber.rb +6 -6
  16. data/lib/gecko/helpers/association_helper.rb +14 -12
  17. data/lib/gecko/helpers/inspection_helper.rb +4 -2
  18. data/lib/gecko/helpers/record_helper.rb +2 -0
  19. data/lib/gecko/helpers/serialization_helper.rb +5 -1
  20. data/lib/gecko/helpers/validation_helper.rb +3 -1
  21. data/lib/gecko/record/account.rb +3 -1
  22. data/lib/gecko/record/address.rb +2 -0
  23. data/lib/gecko/record/base.rb +5 -3
  24. data/lib/gecko/record/base_adapter.rb +33 -22
  25. data/lib/gecko/record/company.rb +2 -0
  26. data/lib/gecko/record/contact.rb +2 -0
  27. data/lib/gecko/record/currency.rb +2 -0
  28. data/lib/gecko/record/exceptions.rb +2 -0
  29. data/lib/gecko/record/fulfillment.rb +2 -0
  30. data/lib/gecko/record/fulfillment_line_item.rb +2 -1
  31. data/lib/gecko/record/image.rb +13 -8
  32. data/lib/gecko/record/invoice.rb +7 -3
  33. data/lib/gecko/record/invoice_line_item.rb +2 -1
  34. data/lib/gecko/record/location.rb +2 -0
  35. data/lib/gecko/record/note.rb +2 -0
  36. data/lib/gecko/record/order.rb +2 -0
  37. data/lib/gecko/record/order_line_item.rb +3 -0
  38. data/lib/gecko/record/payment_term.rb +2 -1
  39. data/lib/gecko/record/product.rb +4 -0
  40. data/lib/gecko/record/purchase_order.rb +2 -1
  41. data/lib/gecko/record/purchase_order_line_item.rb +2 -1
  42. data/lib/gecko/record/tax_type.rb +2 -1
  43. data/lib/gecko/record/user.rb +3 -1
  44. data/lib/gecko/record/variant.rb +9 -7
  45. data/lib/gecko/record/webhook.rb +3 -1
  46. data/lib/gecko/version.rb +3 -1
  47. data/test/client_test.rb +4 -2
  48. data/test/fixtures/vcr_cassettes/images.yml +1 -1
  49. data/test/gecko_test.rb +2 -0
  50. data/test/helpers/association_helper_test.rb +7 -5
  51. data/test/helpers/inspection_helper_test.rb +6 -4
  52. data/test/helpers/serialization_helper_test.rb +16 -14
  53. data/test/helpers/validation_helper_test.rb +3 -1
  54. data/test/record/account_adapter_test.rb +2 -0
  55. data/test/record/address_adapter_test.rb +2 -0
  56. data/test/record/address_test.rb +2 -0
  57. data/test/record/company_adapter_test.rb +2 -0
  58. data/test/record/company_test.rb +2 -0
  59. data/test/record/contact_adapter_test.rb +2 -0
  60. data/test/record/contact_test.rb +3 -1
  61. data/test/record/currency_adapter_test.rb +2 -0
  62. data/test/record/currency_test.rb +2 -0
  63. data/test/record/fulfillment_adapter_test.rb +2 -0
  64. data/test/record/fulfillment_line_item_adapter_test.rb +2 -0
  65. data/test/record/fulfillment_line_item_test.rb +2 -0
  66. data/test/record/fulfillment_test.rb +4 -2
  67. data/test/record/image_adapter_test.rb +2 -0
  68. data/test/record/image_test.rb +18 -0
  69. data/test/record/invoice_adapter_test.rb +2 -0
  70. data/test/record/invoice_line_item_adapter_test.rb +2 -0
  71. data/test/record/invoice_line_item_test.rb +2 -0
  72. data/test/record/invoice_test.rb +2 -0
  73. data/test/record/location_adapter_test.rb +2 -0
  74. data/test/record/location_test.rb +2 -0
  75. data/test/record/note_test.rb +2 -0
  76. data/test/record/order_adapter_test.rb +2 -0
  77. data/test/record/order_line_item_adapter_test.rb +2 -0
  78. data/test/record/order_line_item_test.rb +2 -0
  79. data/test/record/order_test.rb +2 -0
  80. data/test/record/payment_term_adapter_test.rb +2 -0
  81. data/test/record/payment_term_test.rb +2 -0
  82. data/test/record/product_adapter_test.rb +2 -0
  83. data/test/record/product_test.rb +2 -0
  84. data/test/record/purchase_order_adapter_test.rb +2 -0
  85. data/test/record/purchase_order_line_item_adapter_test.rb +2 -0
  86. data/test/record/purchase_order_line_item_test.rb +2 -0
  87. data/test/record/purchase_order_test.rb +2 -0
  88. data/test/record/tax_type_adapter_test.rb +2 -0
  89. data/test/record/tax_type_test.rb +2 -0
  90. data/test/record/user_adapter_test.rb +2 -0
  91. data/test/record/user_test.rb +2 -0
  92. data/test/record/variant_adapter_test.rb +2 -0
  93. data/test/record/variant_test.rb +6 -4
  94. data/test/record/webhook_test.rb +2 -0
  95. data/test/support/let.rb +2 -0
  96. data/test/support/shared_adapter_examples.rb +35 -31
  97. data/test/support/shared_record_examples.rb +3 -1
  98. data/test/support/shared_sideloaded_data_parsing_examples.rb +2 -1
  99. data/test/support/testing_adapter.rb +2 -0
  100. data/test/support/vcr_support.rb +2 -0
  101. data/test/test_helper.rb +2 -0
  102. metadata +24 -23
  103. data/.travis.yml +0 -8
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::InvoiceTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::Record::LocationAdapterTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::LocationTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::NoteTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::Record::OrderAdapterTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::Record::OrderLineItemAdapterTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::OrderLineItemTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::OrderTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::Record::PaymentTermAdapterTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::PaymentTermTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::Record::ProductAdapterTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::ProductTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::Record::PurchaseOrderAdapterTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::Record::PurchaseOrderLineItemAdapterTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::PurchaseOrderLineItemTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::PurchaseOrderTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::Record::TaxTypeAdapterTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::TaxTypeTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::Record::UserAdapterTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::UserTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::Record::VariantAdapterTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::VariantTest < Minitest::Test
@@ -22,7 +24,7 @@ class Gecko::VariantTest < Minitest::Test
22
24
  end
23
25
 
24
26
  def test_variant_prices
25
- json = {variant_prices: [{price_list_id: "buy", value: "12.50"}, {price_list_id: 123, value: "14.00"}]}
27
+ json = { variant_prices: [{ price_list_id: "buy", value: "12.50" }, { price_list_id: 123, value: "14.00" }] }
26
28
  variant_prices = record_class.new(client, json).variant_prices
27
29
  assert_instance_of(Gecko::Record::Variant::VariantPrice, variant_prices.first)
28
30
  assert_equal(variant_prices[0].price_list_id, "buy")
@@ -31,10 +33,10 @@ class Gecko::VariantTest < Minitest::Test
31
33
  end
32
34
 
33
35
  def test_variant_locations
34
- json = {locations: [
36
+ json = { locations: [
35
37
  { location_id: 1, stock_on_hand: "12.50",
36
- committed: "0", bin_location: "AB-123" },
37
- ]}
38
+ committed: "0", bin_location: "AB-123" }
39
+ ] }
38
40
 
39
41
  locations = record_class.new(client, json).locations
40
42
  assert_instance_of(Gecko::Record::Variant::VariantLocation, locations.first)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class Gecko::WebhookTest < Minitest::Test
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Minitest
2
4
  module Let
3
5
  def let(name, &block)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Shared tests for Gecko::Record Adapters
2
4
  # requires definition of several variables
3
5
  # - adapter
@@ -5,7 +7,8 @@
5
7
  # - record_class
6
8
 
7
9
  require 'json'
8
- module SharedAdapterExamples
10
+
11
+ module SharedAdapterExamples # rubocop:disable Metrics/ModuleLength
9
12
  def test_adapter_all
10
13
  VCR.use_cassette(plural_name) do
11
14
  collection = adapter.where(limit: 5)
@@ -49,29 +52,29 @@ module SharedAdapterExamples
49
52
 
50
53
  def test_has_record_for_id
51
54
  mock_record = Object.new
52
- adapter.instance_variable_set(:@identity_map, {12 => mock_record})
55
+ adapter.instance_variable_set(:@identity_map, { 12 => mock_record })
53
56
  assert adapter.has_record_for_id?(12)
54
57
  assert !adapter.has_record_for_id?(12345)
55
58
  end
56
59
 
57
60
  def test_fetch
58
- request_stub = stub_request(:get, /#{plural_name}\/\d+/)
59
- .to_return({
60
- headers: {"Content-Type" => "application/json"},
61
- body: JSON.dump({plural_name.singularize => {id: 12345}})
62
- })
61
+ request_stub = stub_request(:get, %r{#{plural_name}/\d+})
62
+ .to_return({
63
+ headers: { "Content-Type" => "application/json" },
64
+ body: JSON.dump({ plural_name.singularize => { id: 12345 } })
65
+ })
63
66
  record = adapter.fetch(12345)
64
67
  assert_equal(12345, record.id)
65
68
  assert_requested(request_stub)
66
69
  end
67
70
 
68
- def test_fetch_miss
69
- stub_request(:get, /#{plural_name}\/\d+/)
71
+ def test_fetch_miss # rubocop:disable Metrics/MethodLength
72
+ stub_request(:get, %r{#{plural_name}/\d+})
70
73
  .to_return({
71
74
  status: 404,
72
- headers: {"Content-Type" => "application/json"},
73
- body: JSON.dump({
74
- type: "Not Found",
75
+ headers: { "Content-Type" => "application/json" },
76
+ body: JSON.dump({
77
+ type: "Not Found",
75
78
  message: "Couldn't find #{plural_name.singularize} with id 12345"
76
79
  })
77
80
  })
@@ -105,9 +108,8 @@ module SharedAdapterExamples
105
108
  def test_saving_new_record
106
109
  record = adapter.build
107
110
  mock_api_request(record,
108
- [:post, plural_name],
109
- [200, {plural_name.singularize => {id: 123}}]
110
- )
111
+ [:post, plural_name],
112
+ [200, { plural_name.singularize => { id: 123 } }])
111
113
  adapter.save(record)
112
114
  assert_equal(record.id, 123)
113
115
  assert(record.valid?)
@@ -116,9 +118,8 @@ module SharedAdapterExamples
116
118
  def test_saving_new_invalid_record
117
119
  record = adapter.build
118
120
  mock_api_request(record,
119
- [:post, plural_name],
120
- [422, {"errors" => {title: ["can not be bounced"]}}]
121
- )
121
+ [:post, plural_name],
122
+ [422, { "errors" => { title: ["can not be bounced"] } }])
122
123
  adapter.save(record)
123
124
  assert_nil(record.id)
124
125
  assert(!record.valid?)
@@ -127,9 +128,8 @@ module SharedAdapterExamples
127
128
  def test_saving_existing_record
128
129
  record = existing_record
129
130
  mock_api_request(record,
130
- [:put, "#{plural_name}/#{record.id}"],
131
- [204, '']
132
- )
131
+ [:put, "#{plural_name}/#{record.id}"],
132
+ [204, ''])
133
133
  adapter.save(record)
134
134
  assert(record.valid?)
135
135
  end
@@ -137,23 +137,22 @@ module SharedAdapterExamples
137
137
  def test_saving_existing_invalid_record
138
138
  record = existing_record
139
139
  mock_api_request(record,
140
- [:put, "#{plural_name}/#{record.id}"],
141
- [422, {"errors" => {title: ["can not be bounced"]}}]
142
- )
140
+ [:put, "#{plural_name}/#{record.id}"],
141
+ [422, { "errors" => { title: ["can not be bounced"] } }])
143
142
  adapter.save(record)
144
143
  assert(!record.valid?)
145
144
  assert(record.errors[:title].any?)
146
145
  end
147
146
 
148
- def test_saving_record_with_idempotency_key
147
+ def test_saving_record_with_idempotency_key # rubocop:disable Metrics/MethodLength
149
148
  record = adapter.build
150
149
  mock_token = mock
151
- mock_response = mock(status: 200, parsed: {plural_name.singularize => {id: 123}})
150
+ mock_response = mock(status: 200, parsed: { plural_name.singularize => { id: 123 } }, error: nil)
152
151
  mock_token.expects(:request)
153
152
  .with(:post, plural_name, {
154
- body: record.as_json.to_json,
153
+ body: record.as_json.to_json,
155
154
  raise_errors: false,
156
- headers: {
155
+ headers: {
157
156
  'Content-Type' => 'application/json',
158
157
  'Idempotency-Key' => 'abcdefghijkl'
159
158
  }
@@ -163,11 +162,16 @@ module SharedAdapterExamples
163
162
  end
164
163
 
165
164
  private
165
+
166
166
  def mock_api_request(record, request, response)
167
167
  mock_token = mock
168
- mock_response = mock(status: response[0], parsed: response[1])
168
+ mock_response = mock(status: response[0], parsed: response[1], error: nil)
169
169
  mock_token.expects(:request)
170
- .with(request[0], request[1], body: record.as_json.to_json, raise_errors: false, headers: {'Content-Type' => 'application/json'})
170
+ .with(request[0], request[1], {
171
+ body: record.as_json.to_json,
172
+ raise_errors: false,
173
+ headers: { 'Content-Type' => 'application/json' }
174
+ })
171
175
  .returns(mock_response)
172
176
  adapter.client.access_token = mock_token
173
177
  end
@@ -177,6 +181,6 @@ private
177
181
  end
178
182
 
179
183
  def random_attribute
180
- @rattr ||= record_class.attribute_set.find { |att| att.type == Axiom::Types::String }.name
184
+ @random_attribute ||= record_class.attribute_set.find { |att| att.type == Axiom::Types::String }.name
181
185
  end
182
186
  end
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SharedRecordExamples
2
4
  def test_sets_up_id
3
- assert_instance_of(Fixnum, @record.id)
5
+ assert_instance_of(Integer, @record.id)
4
6
  assert_equal(@json['id'], @record.id)
5
7
  end
6
8
 
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SharedSideloadedDataParsingExamples
2
4
  def test_adapter_sideloaded_data_parsing
3
5
  VCR.use_cassette(plural_name + '_sideloaded') do
4
-
5
6
  collection = adapter.where(limit: 5, _include: children.join(","))
6
7
 
7
8
  children.each do |child|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module TestingAdapter
2
4
  require 'dotenv'
3
5
  def setup
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module VCRHelper
2
4
  def load_vcr_hash(fixture, key)
3
5
  yaml = YAML.load_file(VCR.configuration.cassette_library_dir + "/#{fixture}.yml")
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'gecko'
2
4
  require 'minitest/autorun'
3
5
  require 'minitest/pride'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gecko-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bradley Priest
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-24 00:00:00.000000000 Z
11
+ date: 2020-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: dotenv
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: vcr
56
+ name: mocha
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: webmock
70
+ name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: mocha
84
+ name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: timecop
98
+ name: thor
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: dotenv
112
+ name: timecop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: thor
126
+ name: vcr
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: pry
140
+ name: webmock
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -151,35 +151,35 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: oauth2
154
+ name: activesupport
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">"
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: 1.1.0
159
+ version: '0'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ">"
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
- version: 1.1.0
166
+ version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
- name: virtus
168
+ name: oauth2
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - ">"
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
173
+ version: 1.1.0
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - ">"
179
179
  - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: 1.1.0
181
181
  - !ruby/object:Gem::Dependency
182
- name: activesupport
182
+ name: virtus
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - ">="
@@ -199,10 +199,11 @@ executables: []
199
199
  extensions: []
200
200
  extra_rdoc_files: []
201
201
  files:
202
+ - ".github/config/rubocop_linter_action.yml"
203
+ - ".github/workflows/testing.yml"
202
204
  - ".gitignore"
203
205
  - ".hound.yml"
204
206
  - ".rubocop.yml"
205
- - ".travis.yml"
206
207
  - CHANGELOG.md
207
208
  - CONTRIBUTING.md
208
209
  - Gemfile
@@ -365,7 +366,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
365
366
  - !ruby/object:Gem::Version
366
367
  version: '0'
367
368
  requirements: []
368
- rubygems_version: 3.0.3
369
+ rubygems_version: 3.1.2
369
370
  signing_key:
370
371
  specification_version: 4
371
372
  summary: A Ruby interface to the TradeGecko API.