shopify_api 4.7.0 → 4.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b372c851db7445d6687816c3d008810155b61504
4
- data.tar.gz: 488e2b61967bed7464f0ebf24cec6554e0f961da
3
+ metadata.gz: fd02395f105ed2a9d1c738643c5e2ce33f2b7107
4
+ data.tar.gz: 31e993b794581c144dc83ce3fb023aa92cf3904f
5
5
  SHA512:
6
- metadata.gz: 1b6e947edf820c32391fc11e8c4f4c4b2acb4899db0a174fa25b456ec0e23a221b27c5442ad98a33b2361ecd0d2db87615af59051c9412b837c4264ed99e329c
7
- data.tar.gz: '099a49bff83d8115709f24b5a48afd90f3bef9e7fe35448a4ab5341785b1fc9bb64dbce1f7c31b3e8fb5d7eaeb6cb26fea44ae129bcbea8309666535012e3f8d'
6
+ metadata.gz: 5d6325e60332700d5902c83cc8883ddc5cf6c751408f0784aefa50ea646613a8e9c0ae1211009649edd9bc3fd031571f0d45842aa72c2aedc931765c1e2fc5b8
7
+ data.tar.gz: b177c8c1c42d318ec9fb935d2dc6aa198fa973bbc6766dcad3412503c3254727a321ecb5f0cd0a94af260dfa373a759166065e497cddbccc4b6e10103e9bca09
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ == Version 4.7.1
2
+
3
+ * Added support for URL parameter (e.g. limit & page) to ShopifyAPI::Metafields
4
+ * Added support for URL parameter (e.g. limit & page) to metafield operator in ShopifyAPI::Shop
5
+
1
6
  == Version 4.7.0
2
7
 
3
8
  * Removed the mandatory `application_id` parameter from `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
@@ -1,7 +1,9 @@
1
1
  module ShopifyAPI
2
2
  module Metafields
3
- def metafields
4
- Metafield.find(:all, :params => {:resource => self.class.collection_name, :resource_id => id})
3
+ def metafields(**options)
4
+ options.merge! resource: self.class.collection_name, resource_id: id
5
+
6
+ Metafield.find :all, params: options
5
7
  end
6
8
 
7
9
  def add_metafield(metafield)
@@ -6,10 +6,10 @@ module ShopifyAPI
6
6
  find(:one, options.merge({from: "/admin/shop.#{format.extension}"}))
7
7
  end
8
8
 
9
- def metafields
10
- Metafield.find(:all)
9
+ def metafields(**options)
10
+ Metafield.find :all, params: options
11
11
  end
12
-
12
+
13
13
  def add_metafield(metafield)
14
14
  raise ArgumentError, "You can only add metafields to resource that has been saved" if new?
15
15
  metafield.save
@@ -1,3 +1,3 @@
1
1
  module ShopifyAPI
2
- VERSION = "4.7.0"
2
+ VERSION = "4.7.1"
3
3
  end
@@ -103,15 +103,27 @@ class DraftOrderTest < Test::Unit::TestCase
103
103
  assert_equal '123@example.com', field.value
104
104
  end
105
105
 
106
- def test_get_metafields_for_draft_order
106
+ def test_get_all_metafields_for_draft_order
107
107
  fake 'draft_orders/517119332/metafields', body: load_fixture('metafields')
108
108
 
109
109
  metafields = @draft_order.metafields
110
110
 
111
- assert_equal 2, metafields.length
111
+ assert_equal 3, metafields.length
112
112
  assert metafields.all? { |m| m.is_a?(ShopifyAPI::Metafield) }
113
113
  end
114
114
 
115
+ def test_get_2_metafields_for_draft_order
116
+ body = ActiveSupport::JSON.decode load_fixture 'metafields'
117
+ body['metafields'].slice! 2, 1
118
+
119
+ fake 'draft_orders/517119332/metafields.json?limit=2', body: body.to_json, extension: false
120
+
121
+ metafields = @draft_order.metafields limit: 2
122
+
123
+ assert_equal 2, metafields.length
124
+ assert metafields.all?{ |m| m.is_a? ShopifyAPI::Metafield }
125
+ end
126
+
115
127
  def test_complete_draft_order_with_no_params
116
128
  completed_fixture = load_fixture('draft_order_completed')
117
129
  completed_draft = ActiveSupport::JSON.decode(completed_fixture)['draft_order']
@@ -19,6 +19,16 @@
19
19
  "description": null,
20
20
  "key": "phone",
21
21
  "value_type": "string"
22
+ },
23
+ {
24
+ "created_at": "2017-04-24T20:14:24.031-04:00",
25
+ "updated_at": "2017-04-24T20:14:24.031-04:00",
26
+ "namespace": "contact",
27
+ "id": "72544103001",
28
+ "value": "Ottawa",
29
+ "description": null,
30
+ "key": "City",
31
+ "value_type": "string"
22
32
  }
23
33
  ]
24
34
  }
@@ -19,13 +19,25 @@ class ProductTest < Test::Unit::TestCase
19
19
  assert_equal "123@example.com", field.value
20
20
  end
21
21
 
22
- def test_get_metafields_for_product
22
+ def test_get_all_metafields_for_product
23
23
  fake "products/632910392/metafields", :body => load_fixture('metafields')
24
24
 
25
25
  metafields = @product.metafields
26
26
 
27
+ assert_equal 3, metafields.length
28
+ assert metafields.all?{ |m| m.is_a? ShopifyAPI::Metafield }
29
+ end
30
+
31
+ def test_get_2_metafields_for_product
32
+ body = ActiveSupport::JSON.decode load_fixture 'metafields'
33
+ body['metafields'].slice! 2, 1
34
+
35
+ fake 'products/632910392/metafields.json?limit=2', body: body.to_json, extension: false
36
+
37
+ metafields = @product.metafields limit: 2
38
+
27
39
  assert_equal 2, metafields.length
28
- assert metafields.all?{|m| m.is_a?(ShopifyAPI::Metafield)}
40
+ assert metafields.all?{ |m| m.is_a? ShopifyAPI::Metafield }
29
41
  end
30
42
 
31
43
  def test_update_loaded_variant
@@ -25,15 +25,27 @@ class ShopTest < Test::Unit::TestCase
25
25
  assert_equal "apple.myshopify.com", @shop.myshopify_domain
26
26
  end
27
27
 
28
- def test_get_metafields_for_shop
28
+ def test_get_all_metafields_for_shop
29
29
  fake "metafields"
30
30
 
31
31
  metafields = @shop.metafields
32
32
 
33
- assert_equal 2, metafields.length
33
+ assert_equal 3, metafields.length
34
34
  assert metafields.all?{|m| m.is_a?(ShopifyAPI::Metafield)}
35
35
  end
36
36
 
37
+ def test_get_2_metafields_for_shop
38
+ body = ActiveSupport::JSON.decode load_fixture 'metafields'
39
+ body['metafields'].slice! 2, 1
40
+
41
+ fake 'metafields.json?limit=2', body: body.to_json, extension: false
42
+
43
+ metafields = @shop.metafields limit: 2
44
+
45
+ assert_equal 2, metafields.length
46
+ assert metafields.all?{ |m| m.is_a? ShopifyAPI::Metafield }
47
+ end
48
+
37
49
  def test_add_metafield
38
50
  fake "metafields", :method => :post, :status => 201, :body =>load_fixture('metafield')
39
51
 
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.7.0
4
+ version: 4.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-27 00:00:00.000000000 Z
11
+ date: 2017-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource