shopify_api 4.9.0 → 5.2.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.
- checksums.yaml +5 -5
- data/.github/CODEOWNERS +1 -0
- data/.github/probots.yml +2 -0
- data/.gitignore +3 -0
- data/.rubocop.yml +8 -0
- data/.travis.yml +0 -4
- data/CHANGELOG +63 -0
- data/README.md +36 -14
- data/lib/active_resource/detailed_log_subscriber.rb +25 -2
- data/lib/shopify_api/connection.rb +5 -3
- data/lib/shopify_api/limits.rb +1 -2
- data/lib/shopify_api/resources/abandoned_checkout.rb +7 -0
- data/lib/shopify_api/resources/access_scope.rb +5 -0
- data/lib/shopify_api/resources/api_permission.rb +9 -0
- data/lib/shopify_api/resources/asset.rb +8 -8
- data/lib/shopify_api/resources/billing_address.rb +1 -1
- data/lib/shopify_api/resources/checkout.rb +27 -1
- data/lib/shopify_api/resources/collection_publication.rb +10 -0
- data/lib/shopify_api/resources/currency.rb +6 -0
- data/lib/shopify_api/resources/custom_collection.rb +3 -3
- data/lib/shopify_api/resources/{customer_invite_message.rb → customer_invite.rb} +0 -0
- data/lib/shopify_api/resources/graphql.rb +22 -0
- data/lib/shopify_api/resources/image.rb +2 -2
- data/lib/shopify_api/resources/inventory_item.rb +6 -0
- data/lib/shopify_api/resources/inventory_level.rb +55 -0
- data/lib/shopify_api/resources/line_item.rb +9 -1
- data/lib/shopify_api/resources/location.rb +4 -0
- data/lib/shopify_api/resources/o_auth.rb +8 -0
- data/lib/shopify_api/resources/order.rb +16 -4
- data/lib/shopify_api/resources/payment.rb +7 -0
- data/lib/shopify_api/resources/ping.rb +3 -0
- data/lib/shopify_api/resources/ping/conversation.rb +42 -0
- data/lib/shopify_api/resources/ping/delivery_confirmation_details.rb +10 -0
- data/lib/shopify_api/resources/ping/message.rb +8 -0
- data/lib/shopify_api/resources/product.rb +4 -4
- data/lib/shopify_api/resources/product_publication.rb +10 -0
- data/lib/shopify_api/resources/publication.rb +5 -0
- data/lib/shopify_api/resources/shipping_line.rb +1 -1
- data/lib/shopify_api/resources/shipping_rate.rb +7 -0
- data/lib/shopify_api/resources/shop.rb +4 -4
- data/lib/shopify_api/resources/smart_collection.rb +6 -2
- data/lib/shopify_api/resources/tender_transaction.rb +6 -0
- data/lib/shopify_api/session.rb +1 -1
- data/lib/shopify_api/version.rb +1 -1
- data/service.yml +8 -0
- data/shopify_api.gemspec +4 -1
- data/test/abandoned_checkouts_test.rb +29 -0
- data/test/api_permission_test.rb +9 -0
- data/test/checkouts_test.rb +72 -4
- data/test/collection_publication_test.rb +40 -0
- data/test/currency_test.rb +21 -0
- data/test/detailed_log_subscriber_test.rb +19 -1
- data/test/fixtures/abandoned_checkout.json +184 -0
- data/test/fixtures/abandoned_checkouts.json +186 -0
- data/test/fixtures/checkout.json +160 -0
- data/test/fixtures/checkouts.json +25 -49
- data/test/fixtures/collection_publication.json +11 -0
- data/test/fixtures/collection_publications.json +13 -0
- data/test/fixtures/currencies.json +25 -0
- data/test/fixtures/inventory_level.json +7 -0
- data/test/fixtures/inventory_levels.json +24 -0
- data/test/fixtures/order_with_properties.json +373 -0
- data/test/fixtures/payment.json +7 -0
- data/test/fixtures/payments.json +9 -0
- data/test/fixtures/ping/conversation.json +1 -0
- data/test/fixtures/ping/failed_delivery_confirmation.json +1 -0
- data/test/fixtures/ping/message.json +1 -0
- data/test/fixtures/ping/successful_delivery_confirmation.json +1 -0
- data/test/fixtures/product_publication.json +11 -0
- data/test/fixtures/product_publications.json +13 -0
- data/test/fixtures/publications.json +9 -0
- data/test/fixtures/shipping_rates.json +12 -0
- data/test/fixtures/smart_collection_products.json +155 -0
- data/test/fixtures/tender_transactions.json +52 -0
- data/test/inventory_level_test.rb +59 -0
- data/test/location_test.rb +14 -0
- data/test/order_test.rb +29 -1
- data/test/payment_test.rb +19 -0
- data/test/ping/conversation_test.rb +71 -0
- data/test/ping/message_test.rb +23 -0
- data/test/product_publication_test.rb +40 -0
- data/test/publication_test.rb +12 -0
- data/test/session_test.rb +11 -11
- data/test/shipping_rate_test.rb +17 -0
- data/test/smart_collection_test.rb +25 -0
- data/test/tender_transaction_test.rb +18 -0
- data/test/test_helper.rb +8 -5
- data/test/variant_test.rb +4 -1
- metadata +102 -10
- data/lib/shopify_api/resources/discount.rb +0 -11
- data/test/discount_test.rb +0 -52
- data/test/fixtures/discount.json +0 -17
- data/test/fixtures/discount_disabled.json +0 -17
- data/test/fixtures/discounts.json +0 -34
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
|
|
5
|
+
class PingMessageTest < Test::Unit::TestCase
|
|
6
|
+
def test_create_message
|
|
7
|
+
fake("api/ping-api/v1/conversations/123/messages",
|
|
8
|
+
method: :post,
|
|
9
|
+
body: load_fixture('ping/message'))
|
|
10
|
+
|
|
11
|
+
message = ShopifyAPI::Ping::Message.new(
|
|
12
|
+
dedupe_key: SecureRandom.uuid,
|
|
13
|
+
content: {
|
|
14
|
+
text: "Hello from shopify_api",
|
|
15
|
+
},
|
|
16
|
+
sender_id: 'test',
|
|
17
|
+
conversation_id: '123',
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
message.save
|
|
21
|
+
assert_equal("d0c7a2e6-8084-4e79-8483-e4a1352b81f7", message.id)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'test_helper'
|
|
3
|
+
|
|
4
|
+
class ProductPublicationTest < Test::Unit::TestCase
|
|
5
|
+
def test_get_all_product_publications
|
|
6
|
+
fake 'publications/55650051/product_publications', body: load_fixture('product_publications')
|
|
7
|
+
product_publications = ShopifyAPI::ProductPublication.find(:all, params: { publication_id: 55650051 })
|
|
8
|
+
|
|
9
|
+
assert_equal 647162527768, product_publications.first.id
|
|
10
|
+
assert_equal 55650051, product_publications.first.publication_id
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_get_product_publication
|
|
14
|
+
fake 'publications/55650051/product_publications/647162527768', body: load_fixture('product_publication')
|
|
15
|
+
product_publication = ShopifyAPI::ProductPublication.find(647162527768, params: { publication_id: 55650051 })
|
|
16
|
+
|
|
17
|
+
assert_equal 647162527768, product_publication.id
|
|
18
|
+
assert_equal 55650051, product_publication.publication_id
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_create_product_publication
|
|
22
|
+
fake 'publications/55650051/product_publications', method: :post, body: load_fixture('product_publication')
|
|
23
|
+
ShopifyAPI::ProductPublication.create(
|
|
24
|
+
publication_id: 55650051,
|
|
25
|
+
published_at: "2018-01-29T14:06:08-05:00",
|
|
26
|
+
published: true,
|
|
27
|
+
product_id: 8267093571
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
expected_body = {
|
|
31
|
+
product_publication: {
|
|
32
|
+
published_at: "2018-01-29T14:06:08-05:00",
|
|
33
|
+
published: true,
|
|
34
|
+
product_id: 8267093571,
|
|
35
|
+
},
|
|
36
|
+
}.to_json
|
|
37
|
+
|
|
38
|
+
assert_equal expected_body, FakeWeb.last_request.body
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'test_helper'
|
|
3
|
+
|
|
4
|
+
class PublicationTest < Test::Unit::TestCase
|
|
5
|
+
def test_find_all_publications
|
|
6
|
+
fake 'publications'
|
|
7
|
+
publications = ShopifyAPI::Publication.find(:all)
|
|
8
|
+
|
|
9
|
+
assert_equal 55650051, publications.first.id
|
|
10
|
+
assert_equal "Buy Button", publications.first.name
|
|
11
|
+
end
|
|
12
|
+
end
|
data/test/session_test.rb
CHANGED
|
@@ -214,33 +214,33 @@ class SessionTest < Test::Unit::TestCase
|
|
|
214
214
|
end
|
|
215
215
|
|
|
216
216
|
test "return true when the signature is valid and the keys of params are strings" do
|
|
217
|
-
params = {
|
|
218
|
-
params[
|
|
217
|
+
params = { 'code' => 'any-code', 'timestamp' => Time.now }
|
|
218
|
+
params[:hmac] = generate_signature(params)
|
|
219
219
|
assert_equal true, ShopifyAPI::Session.validate_signature(params)
|
|
220
220
|
end
|
|
221
221
|
|
|
222
222
|
test "return true when validating signature of params with ampersand and equal sign characters" do
|
|
223
223
|
ShopifyAPI::Session.secret = 'secret'
|
|
224
|
-
params = {'a' => '1&b=2', 'c=3&d' => '4'}
|
|
225
|
-
to_sign =
|
|
226
|
-
params[
|
|
227
|
-
|
|
224
|
+
params = { 'a' => '1&b=2', 'c=3&d' => '4' }
|
|
225
|
+
to_sign = 'a=1%26b=2&c%3D3%26d=4'
|
|
226
|
+
params[:hmac] = generate_signature(to_sign)
|
|
228
227
|
assert_equal true, ShopifyAPI::Session.validate_signature(params)
|
|
229
228
|
end
|
|
230
229
|
|
|
231
230
|
test "return true when validating signature of params with percent sign characters" do
|
|
232
231
|
ShopifyAPI::Session.secret = 'secret'
|
|
233
|
-
params = {'a%3D1%26b' => '2%26c%3D3'}
|
|
234
|
-
to_sign =
|
|
235
|
-
params[
|
|
236
|
-
|
|
232
|
+
params = { 'a%3D1%26b' => '2%26c%3D3' }
|
|
233
|
+
to_sign = 'a%253D1%2526b=2%2526c%253D3'
|
|
234
|
+
params[:hmac] = generate_signature(to_sign)
|
|
237
235
|
assert_equal true, ShopifyAPI::Session.validate_signature(params)
|
|
238
236
|
end
|
|
239
237
|
|
|
240
238
|
private
|
|
241
239
|
|
|
242
240
|
def make_sorted_params(params)
|
|
243
|
-
|
|
241
|
+
params.with_indifferent_access.except(
|
|
242
|
+
:signature, :hmac, :action, :controller
|
|
243
|
+
).collect { |k, v| "#{k}=#{v}" }.sort.join('&')
|
|
244
244
|
end
|
|
245
245
|
|
|
246
246
|
def generate_signature(params)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
|
|
5
|
+
class ShippingRateTest < Test::Unit::TestCase
|
|
6
|
+
test ":get lists all shipping rates for a given checkout" do
|
|
7
|
+
fake 'checkouts', method: :get, status: 200, body: load_fixture('checkouts')
|
|
8
|
+
checkouts = ShopifyAPI::Checkout.all
|
|
9
|
+
|
|
10
|
+
fake "checkouts/#{checkouts.first.id}/shipping_rates",
|
|
11
|
+
method: :get, status: 200, body: load_fixture('checkouts')
|
|
12
|
+
shipping_rates = ShopifyAPI::ShippingRate.find(:all, params: { checkout_id: checkouts.first.id })
|
|
13
|
+
|
|
14
|
+
assert_equal 2, shipping_rates.first.shipping_rates.length
|
|
15
|
+
assert_equal 'canada_post-INT.TP.BOGUS-4.00', shipping_rates.first.shipping_rates.first.id
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -7,4 +7,29 @@ class SmartCollectionTest < Test::Unit::TestCase
|
|
|
7
7
|
smart_collection = ShopifyAPI::SmartCollection.create(:title => "Macbooks", :rules => rules)
|
|
8
8
|
assert_equal 1063001432, smart_collection.id
|
|
9
9
|
end
|
|
10
|
+
|
|
11
|
+
test "Smart Collection get products gets all products in a smart collection" do
|
|
12
|
+
fake "smart_collections/1063001432", method: :get, status: 200, body: load_fixture('smart_collection')
|
|
13
|
+
smart_collection = ShopifyAPI::SmartCollection.find(1063001432)
|
|
14
|
+
|
|
15
|
+
fake "products.json?collection_id=1063001432",
|
|
16
|
+
method: :get,
|
|
17
|
+
status: 200,
|
|
18
|
+
body:
|
|
19
|
+
load_fixture('smart_collection_products'),
|
|
20
|
+
extension: false
|
|
21
|
+
assert_equal [632910392, 921728736], smart_collection.products.map(&:id)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
test "Smart Collection get products with only_sorted=only_manual gets only manually sorted products" do
|
|
25
|
+
fake "smart_collections/1063001432", method: :get, status: 200, body: load_fixture('smart_collection')
|
|
26
|
+
smart_collection = ShopifyAPI::SmartCollection.find(1063001432)
|
|
27
|
+
|
|
28
|
+
fake "smart_collections/1063001432/products.json?only_sorted=only_manual",
|
|
29
|
+
method: :get,
|
|
30
|
+
status: 200,
|
|
31
|
+
body: load_fixture('smart_collection_products'),
|
|
32
|
+
extension: false
|
|
33
|
+
assert_equal [632910392, 921728736], smart_collection.products(only_sorted: "only_manual").map(&:id)
|
|
34
|
+
end
|
|
10
35
|
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
|
|
5
|
+
class TenderTransactionTest < Test::Unit::TestCase
|
|
6
|
+
def setup
|
|
7
|
+
super
|
|
8
|
+
fake "tender_transactions", method: :get, body: load_fixture('tender_transactions')
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
context "Tender Transaction" do
|
|
12
|
+
should 'return a list of transactions' do
|
|
13
|
+
tender_transactions = ShopifyAPI::TenderTransaction.all
|
|
14
|
+
assert_equal 3, tender_transactions.length
|
|
15
|
+
assert_equal [1, 2, 3], tender_transactions.map(&:id)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
data/test/test_helper.rb
CHANGED
|
@@ -2,6 +2,7 @@ require 'rubygems'
|
|
|
2
2
|
require 'minitest/autorun'
|
|
3
3
|
require 'fakeweb'
|
|
4
4
|
require 'mocha/setup'
|
|
5
|
+
require 'pry'
|
|
5
6
|
|
|
6
7
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
7
8
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
@@ -30,11 +31,13 @@ class Test::Unit::TestCase < Minitest::Unit::TestCase
|
|
|
30
31
|
|
|
31
32
|
def setup
|
|
32
33
|
ActiveResource::Base.format = :json
|
|
33
|
-
ShopifyAPI.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
[ShopifyAPI, ShopifyAPI::Ping].each do |mod|
|
|
35
|
+
mod.constants.each do |const|
|
|
36
|
+
begin
|
|
37
|
+
const = mod.const_get(const)
|
|
38
|
+
const.format = :json if const.respond_to?(:format=)
|
|
39
|
+
rescue NameError
|
|
40
|
+
end
|
|
38
41
|
end
|
|
39
42
|
end
|
|
40
43
|
|
data/test/variant_test.rb
CHANGED
|
@@ -5,19 +5,22 @@ class VariantTest < Test::Unit::TestCase
|
|
|
5
5
|
def test_get_variants
|
|
6
6
|
fake "products/632910392/variants", :method => :get, :body => load_fixture('variants')
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
variants = ShopifyAPI::Variant.find(:all, :params => { :product_id => 632910392 })
|
|
9
|
+
assert_equal variants.map(&:id).sort, [39072856, 49148385, 457924702, 808950810]
|
|
9
10
|
end
|
|
10
11
|
|
|
11
12
|
def test_get_variant_namespaced
|
|
12
13
|
fake "products/632910392/variants/808950810", :method => :get, :body => load_fixture('variant')
|
|
13
14
|
|
|
14
15
|
v = ShopifyAPI::Variant.find(808950810, :params => {:product_id => 632910392})
|
|
16
|
+
assert_equal 632910392, v.product_id
|
|
15
17
|
end
|
|
16
18
|
|
|
17
19
|
def test_get_variant
|
|
18
20
|
fake "variants/808950810", :method => :get, :body => load_fixture('variant')
|
|
19
21
|
|
|
20
22
|
v = ShopifyAPI::Variant.find(808950810)
|
|
23
|
+
assert_equal 632910392, v.product_id
|
|
21
24
|
end
|
|
22
25
|
|
|
23
26
|
def test_product_id_should_be_accessible_if_via_product_endpoint
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: shopify_api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 5.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shopify
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2019-01-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activeresource
|
|
@@ -38,6 +38,20 @@ dependencies:
|
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: graphql-client
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
41
55
|
- !ruby/object:Gem::Dependency
|
|
42
56
|
name: mocha
|
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -108,6 +122,34 @@ dependencies:
|
|
|
108
122
|
- - ">="
|
|
109
123
|
- !ruby/object:Gem::Version
|
|
110
124
|
version: '0'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: pry
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - ">="
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0'
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - ">="
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: pry-byebug
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - ">="
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: '0'
|
|
146
|
+
type: :development
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - ">="
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '0'
|
|
111
153
|
description: The Shopify API gem allows Ruby developers to programmatically access
|
|
112
154
|
the admin section of Shopify stores. The API is implemented as JSON or XML over
|
|
113
155
|
HTTP using all four verbs (GET/POST/PUT/DELETE). Each resource, like Order, Product,
|
|
@@ -121,7 +163,10 @@ extra_rdoc_files:
|
|
|
121
163
|
- README.md
|
|
122
164
|
files:
|
|
123
165
|
- ".document"
|
|
166
|
+
- ".github/CODEOWNERS"
|
|
167
|
+
- ".github/probots.yml"
|
|
124
168
|
- ".gitignore"
|
|
169
|
+
- ".rubocop.yml"
|
|
125
170
|
- ".travis.yml"
|
|
126
171
|
- CHANGELOG
|
|
127
172
|
- CONTRIBUTING.md
|
|
@@ -151,9 +196,12 @@ files:
|
|
|
151
196
|
- lib/shopify_api/limits.rb
|
|
152
197
|
- lib/shopify_api/metafields.rb
|
|
153
198
|
- lib/shopify_api/resources.rb
|
|
199
|
+
- lib/shopify_api/resources/abandoned_checkout.rb
|
|
200
|
+
- lib/shopify_api/resources/access_scope.rb
|
|
154
201
|
- lib/shopify_api/resources/access_token.rb
|
|
155
202
|
- lib/shopify_api/resources/address.rb
|
|
156
203
|
- lib/shopify_api/resources/announcement.rb
|
|
204
|
+
- lib/shopify_api/resources/api_permission.rb
|
|
157
205
|
- lib/shopify_api/resources/application_charge.rb
|
|
158
206
|
- lib/shopify_api/resources/application_credit.rb
|
|
159
207
|
- lib/shopify_api/resources/article.rb
|
|
@@ -166,14 +214,15 @@ files:
|
|
|
166
214
|
- lib/shopify_api/resources/checkout.rb
|
|
167
215
|
- lib/shopify_api/resources/collect.rb
|
|
168
216
|
- lib/shopify_api/resources/collection_listing.rb
|
|
217
|
+
- lib/shopify_api/resources/collection_publication.rb
|
|
169
218
|
- lib/shopify_api/resources/comment.rb
|
|
170
219
|
- lib/shopify_api/resources/country.rb
|
|
220
|
+
- lib/shopify_api/resources/currency.rb
|
|
171
221
|
- lib/shopify_api/resources/custom_collection.rb
|
|
172
222
|
- lib/shopify_api/resources/customer.rb
|
|
173
223
|
- lib/shopify_api/resources/customer_group.rb
|
|
174
|
-
- lib/shopify_api/resources/
|
|
224
|
+
- lib/shopify_api/resources/customer_invite.rb
|
|
175
225
|
- lib/shopify_api/resources/customer_saved_search.rb
|
|
176
|
-
- lib/shopify_api/resources/discount.rb
|
|
177
226
|
- lib/shopify_api/resources/discount_code.rb
|
|
178
227
|
- lib/shopify_api/resources/draft_order.rb
|
|
179
228
|
- lib/shopify_api/resources/draft_order_invoice.rb
|
|
@@ -183,7 +232,10 @@ files:
|
|
|
183
232
|
- lib/shopify_api/resources/fulfillment_request.rb
|
|
184
233
|
- lib/shopify_api/resources/fulfillment_service.rb
|
|
185
234
|
- lib/shopify_api/resources/gift_card.rb
|
|
235
|
+
- lib/shopify_api/resources/graphql.rb
|
|
186
236
|
- lib/shopify_api/resources/image.rb
|
|
237
|
+
- lib/shopify_api/resources/inventory_item.rb
|
|
238
|
+
- lib/shopify_api/resources/inventory_level.rb
|
|
187
239
|
- lib/shopify_api/resources/line_item.rb
|
|
188
240
|
- lib/shopify_api/resources/location.rb
|
|
189
241
|
- lib/shopify_api/resources/marketing_event.rb
|
|
@@ -194,12 +246,19 @@ files:
|
|
|
194
246
|
- lib/shopify_api/resources/order.rb
|
|
195
247
|
- lib/shopify_api/resources/order_risk.rb
|
|
196
248
|
- lib/shopify_api/resources/page.rb
|
|
249
|
+
- lib/shopify_api/resources/payment.rb
|
|
197
250
|
- lib/shopify_api/resources/payment_details.rb
|
|
251
|
+
- lib/shopify_api/resources/ping.rb
|
|
252
|
+
- lib/shopify_api/resources/ping/conversation.rb
|
|
253
|
+
- lib/shopify_api/resources/ping/delivery_confirmation_details.rb
|
|
254
|
+
- lib/shopify_api/resources/ping/message.rb
|
|
198
255
|
- lib/shopify_api/resources/policy.rb
|
|
199
256
|
- lib/shopify_api/resources/price_rule.rb
|
|
200
257
|
- lib/shopify_api/resources/product.rb
|
|
201
258
|
- lib/shopify_api/resources/product_listing.rb
|
|
259
|
+
- lib/shopify_api/resources/product_publication.rb
|
|
202
260
|
- lib/shopify_api/resources/province.rb
|
|
261
|
+
- lib/shopify_api/resources/publication.rb
|
|
203
262
|
- lib/shopify_api/resources/receipt.rb
|
|
204
263
|
- lib/shopify_api/resources/recurring_application_charge.rb
|
|
205
264
|
- lib/shopify_api/resources/redirect.rb
|
|
@@ -210,12 +269,14 @@ files:
|
|
|
210
269
|
- lib/shopify_api/resources/script_tag.rb
|
|
211
270
|
- lib/shopify_api/resources/shipping_address.rb
|
|
212
271
|
- lib/shopify_api/resources/shipping_line.rb
|
|
272
|
+
- lib/shopify_api/resources/shipping_rate.rb
|
|
213
273
|
- lib/shopify_api/resources/shipping_zone.rb
|
|
214
274
|
- lib/shopify_api/resources/shop.rb
|
|
215
275
|
- lib/shopify_api/resources/smart_collection.rb
|
|
216
276
|
- lib/shopify_api/resources/storefront_access_token.rb
|
|
217
277
|
- lib/shopify_api/resources/tax_line.rb
|
|
218
278
|
- lib/shopify_api/resources/tax_service.rb
|
|
279
|
+
- lib/shopify_api/resources/tender_transaction.rb
|
|
219
280
|
- lib/shopify_api/resources/theme.rb
|
|
220
281
|
- lib/shopify_api/resources/transaction.rb
|
|
221
282
|
- lib/shopify_api/resources/usage_charge.rb
|
|
@@ -224,10 +285,13 @@ files:
|
|
|
224
285
|
- lib/shopify_api/resources/webhook.rb
|
|
225
286
|
- lib/shopify_api/session.rb
|
|
226
287
|
- lib/shopify_api/version.rb
|
|
288
|
+
- service.yml
|
|
227
289
|
- shipit.rubygems.yml
|
|
228
290
|
- shopify_api.gemspec
|
|
291
|
+
- test/abandoned_checkouts_test.rb
|
|
229
292
|
- test/access_token_test.rb
|
|
230
293
|
- test/active_resource/json_errors_test.rb
|
|
294
|
+
- test/api_permission_test.rb
|
|
231
295
|
- test/application_charge_test.rb
|
|
232
296
|
- test/application_credit_test.rb
|
|
233
297
|
- test/article_test.rb
|
|
@@ -239,14 +303,17 @@ files:
|
|
|
239
303
|
- test/checkouts_test.rb
|
|
240
304
|
- test/collect_test.rb
|
|
241
305
|
- test/collection_listing_test.rb
|
|
306
|
+
- test/collection_publication_test.rb
|
|
242
307
|
- test/countable_test.rb
|
|
308
|
+
- test/currency_test.rb
|
|
243
309
|
- test/custom_collection_test.rb
|
|
244
310
|
- test/customer_saved_search_test.rb
|
|
245
311
|
- test/customer_test.rb
|
|
246
312
|
- test/detailed_log_subscriber_test.rb
|
|
247
313
|
- test/discount_code_test.rb
|
|
248
|
-
- test/discount_test.rb
|
|
249
314
|
- test/draft_order_test.rb
|
|
315
|
+
- test/fixtures/abandoned_checkout.json
|
|
316
|
+
- test/fixtures/abandoned_checkouts.json
|
|
250
317
|
- test/fixtures/access_token_delegate.json
|
|
251
318
|
- test/fixtures/application_charge.json
|
|
252
319
|
- test/fixtures/application_charges.json
|
|
@@ -261,11 +328,15 @@ files:
|
|
|
261
328
|
- test/fixtures/blogs.json
|
|
262
329
|
- test/fixtures/carrier_service.json
|
|
263
330
|
- test/fixtures/carts.json
|
|
331
|
+
- test/fixtures/checkout.json
|
|
264
332
|
- test/fixtures/checkouts.json
|
|
265
333
|
- test/fixtures/collect.json
|
|
266
334
|
- test/fixtures/collection_listing.json
|
|
267
335
|
- test/fixtures/collection_listing_product_ids.json
|
|
268
336
|
- test/fixtures/collection_listings.json
|
|
337
|
+
- test/fixtures/collection_publication.json
|
|
338
|
+
- test/fixtures/collection_publications.json
|
|
339
|
+
- test/fixtures/currencies.json
|
|
269
340
|
- test/fixtures/custom_collection.json
|
|
270
341
|
- test/fixtures/customer_invite.json
|
|
271
342
|
- test/fixtures/customer_saved_search.json
|
|
@@ -273,11 +344,8 @@ files:
|
|
|
273
344
|
- test/fixtures/customers.json
|
|
274
345
|
- test/fixtures/customers_account_activation_url.json
|
|
275
346
|
- test/fixtures/customers_search.json
|
|
276
|
-
- test/fixtures/discount.json
|
|
277
347
|
- test/fixtures/discount_code.json
|
|
278
348
|
- test/fixtures/discount_codes.json
|
|
279
|
-
- test/fixtures/discount_disabled.json
|
|
280
|
-
- test/fixtures/discounts.json
|
|
281
349
|
- test/fixtures/draft_order.json
|
|
282
350
|
- test/fixtures/draft_order_completed.json
|
|
283
351
|
- test/fixtures/draft_order_invoice.json
|
|
@@ -292,6 +360,8 @@ files:
|
|
|
292
360
|
- test/fixtures/gift_card_disabled.json
|
|
293
361
|
- test/fixtures/image.json
|
|
294
362
|
- test/fixtures/images.json
|
|
363
|
+
- test/fixtures/inventory_level.json
|
|
364
|
+
- test/fixtures/inventory_levels.json
|
|
295
365
|
- test/fixtures/marketing_event.json
|
|
296
366
|
- test/fixtures/marketing_events.json
|
|
297
367
|
- test/fixtures/metafield.json
|
|
@@ -300,7 +370,14 @@ files:
|
|
|
300
370
|
- test/fixtures/order.json
|
|
301
371
|
- test/fixtures/order_risk.json
|
|
302
372
|
- test/fixtures/order_risks.json
|
|
373
|
+
- test/fixtures/order_with_properties.json
|
|
303
374
|
- test/fixtures/orders.json
|
|
375
|
+
- test/fixtures/payment.json
|
|
376
|
+
- test/fixtures/payments.json
|
|
377
|
+
- test/fixtures/ping/conversation.json
|
|
378
|
+
- test/fixtures/ping/failed_delivery_confirmation.json
|
|
379
|
+
- test/fixtures/ping/message.json
|
|
380
|
+
- test/fixtures/ping/successful_delivery_confirmation.json
|
|
304
381
|
- test/fixtures/policies.json
|
|
305
382
|
- test/fixtures/price_rule.json
|
|
306
383
|
- test/fixtures/price_rules.json
|
|
@@ -308,6 +385,9 @@ files:
|
|
|
308
385
|
- test/fixtures/product_listing.json
|
|
309
386
|
- test/fixtures/product_listing_product_ids.json
|
|
310
387
|
- test/fixtures/product_listings.json
|
|
388
|
+
- test/fixtures/product_publication.json
|
|
389
|
+
- test/fixtures/product_publications.json
|
|
390
|
+
- test/fixtures/publications.json
|
|
311
391
|
- test/fixtures/recurring_application_charge.json
|
|
312
392
|
- test/fixtures/recurring_application_charge_adjustment.json
|
|
313
393
|
- test/fixtures/recurring_application_charges.json
|
|
@@ -317,13 +397,16 @@ files:
|
|
|
317
397
|
- test/fixtures/reports.json
|
|
318
398
|
- test/fixtures/script_tag.json
|
|
319
399
|
- test/fixtures/script_tags.json
|
|
400
|
+
- test/fixtures/shipping_rates.json
|
|
320
401
|
- test/fixtures/shipping_zones.json
|
|
321
402
|
- test/fixtures/shop.json
|
|
322
403
|
- test/fixtures/smart_collection.json
|
|
404
|
+
- test/fixtures/smart_collection_products.json
|
|
323
405
|
- test/fixtures/storefront_access_token.json
|
|
324
406
|
- test/fixtures/storefront_access_tokens.json
|
|
325
407
|
- test/fixtures/tags.json
|
|
326
408
|
- test/fixtures/tax_service.json
|
|
409
|
+
- test/fixtures/tender_transactions.json
|
|
327
410
|
- test/fixtures/transaction.json
|
|
328
411
|
- test/fixtures/usage_charge.json
|
|
329
412
|
- test/fixtures/usage_charges.json
|
|
@@ -339,16 +422,23 @@ files:
|
|
|
339
422
|
- test/fulfillment_test.rb
|
|
340
423
|
- test/gift_card_test.rb
|
|
341
424
|
- test/image_test.rb
|
|
425
|
+
- test/inventory_level_test.rb
|
|
342
426
|
- test/limits_test.rb
|
|
427
|
+
- test/location_test.rb
|
|
343
428
|
- test/marketing_event_test.rb
|
|
344
429
|
- test/metafield_test.rb
|
|
345
430
|
- test/o_auth_test.rb
|
|
346
431
|
- test/order_risk_test.rb
|
|
347
432
|
- test/order_test.rb
|
|
433
|
+
- test/payment_test.rb
|
|
434
|
+
- test/ping/conversation_test.rb
|
|
435
|
+
- test/ping/message_test.rb
|
|
348
436
|
- test/policy_test.rb
|
|
349
437
|
- test/price_rule_test.rb
|
|
350
438
|
- test/product_listing_test.rb
|
|
439
|
+
- test/product_publication_test.rb
|
|
351
440
|
- test/product_test.rb
|
|
441
|
+
- test/publication_test.rb
|
|
352
442
|
- test/recurring_application_charge_test.rb
|
|
353
443
|
- test/redirect_test.rb
|
|
354
444
|
- test/refund_test.rb
|
|
@@ -356,11 +446,13 @@ files:
|
|
|
356
446
|
- test/resource_feedback_test.rb
|
|
357
447
|
- test/script_tag_test.rb
|
|
358
448
|
- test/session_test.rb
|
|
449
|
+
- test/shipping_rate_test.rb
|
|
359
450
|
- test/shipping_zone_test.rb
|
|
360
451
|
- test/shop_test.rb
|
|
361
452
|
- test/smart_collection_test.rb
|
|
362
453
|
- test/storefront_access_token_test.rb
|
|
363
454
|
- test/tax_service_test.rb
|
|
455
|
+
- test/tender_transaction_test.rb
|
|
364
456
|
- test/test_helper.rb
|
|
365
457
|
- test/transaction_test.rb
|
|
366
458
|
- test/usage_charge_test.rb
|
|
@@ -380,7 +472,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
380
472
|
requirements:
|
|
381
473
|
- - ">="
|
|
382
474
|
- !ruby/object:Gem::Version
|
|
383
|
-
version: '2.
|
|
475
|
+
version: '2.1'
|
|
384
476
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
385
477
|
requirements:
|
|
386
478
|
- - ">="
|
|
@@ -388,7 +480,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
388
480
|
version: '0'
|
|
389
481
|
requirements: []
|
|
390
482
|
rubyforge_project:
|
|
391
|
-
rubygems_version: 2.
|
|
483
|
+
rubygems_version: 2.7.6
|
|
392
484
|
signing_key:
|
|
393
485
|
specification_version: 4
|
|
394
486
|
summary: ShopifyAPI is a lightweight gem for accessing the Shopify admin REST web
|