shopify_api 4.12.0 → 4.13.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: beef05479b8becd46a2626b66e880345b4e8c5ba
4
- data.tar.gz: e7a9ccd9ec76a44eed7e12345154e20e36e31f0d
3
+ metadata.gz: ef057d0e70073f7c63a076b7f878c1c3afd062d0
4
+ data.tar.gz: 477cf304d0a68dc7e68cfac7e39c9af5617611c5
5
5
  SHA512:
6
- metadata.gz: b99a9efcd6c2e045f99404b8defc2f0ddaf4c65ffc2441d69998fd083ca966c1d483ce57ce855739c9b166f15d6c08bf63c8cc18b6ef50b8773c6b520749fcde
7
- data.tar.gz: 7e5b5b0dfbf739267cbb6643dcb757b5cf0d83f5a22ea6065c1d8f662320f91703a5e7064a02254136b968a85867e797b9ea69d55381f3ac47b0271e937b0cbd
6
+ metadata.gz: c24fa3742f763e0f798a4e2d0eccd37ff2db06ba21e08e09d5853584550398db112354f39b9fd6edc55af2cc8e438f5d04b8e3ade7e704c81e2eda2a8236338f
7
+ data.tar.gz: 9886ecfff88b5b9e7dac1e1e1948fbe3ea3a0c69cbc9f13f601c413dead928bdfc68678f81d06ad74f277631f8048628252f390a37717bf17d9c1b6c4c3e016b
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ Dir.glob("#{File.dirname(__FILE__)}/ping/*").each { |file| require file }
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ShopifyAPI
4
+ module Ping
5
+ class Conversation < Base
6
+ self.prefix = "/admin/api/ping-api/v1/"
7
+
8
+ def send_message(message_attrs)
9
+ message = ShopifyAPI::Ping::Message.new(
10
+ message_attrs.merge(conversation_id: id)
11
+ )
12
+
13
+ message.save
14
+ message
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ShopifyAPI
4
+ module Ping
5
+ class Message < Base
6
+ self.prefix = "/admin/api/ping-api/v1/conversations/:conversation_id/"
7
+ end
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module ShopifyAPI
2
- VERSION = "4.12.0"
2
+ VERSION = "4.13.0"
3
3
  end
@@ -0,0 +1 @@
1
+ {"conversation":{"id":"d315d4f7-53bd-49ec-8808-23f6db3c641a","name":"my topic","participants":{"counts":{"total":1},"data":[{"id":"test","name":"foo","avatar":null,"group":"customer"}]},"shopify_account":{"domain":"backpackinghacks.myshopify.com"}}}
@@ -0,0 +1 @@
1
+ {"message":{"id":"d0c7a2e6-8084-4e79-8483-e4a1352b81f7","sender_id":"test","sender":{"id":"test","name":"foo","avatar":null,"group":"customer"},"content":{"text":"Hello from shopify_api"},"sent_at":"2018-08-29T22:16:05.589479Z"}}
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ class PingConversationTest < Test::Unit::TestCase
6
+ def test_create_conversation
7
+ fake "api/ping-api/v1/conversations", method: :post, body: load_fixture('ping/conversation')
8
+
9
+ conversation = ShopifyAPI::Ping::Conversation.new(
10
+ topic: 'my topic',
11
+ participants: [
12
+ {
13
+ name: 'foo',
14
+ id: 'test',
15
+ group: 'customer',
16
+ },
17
+ ]
18
+ )
19
+
20
+ conversation.save
21
+
22
+ assert_equal "d315d4f7-53bd-49ec-8808-23f6db3c641a", conversation.id
23
+ end
24
+
25
+ def test_send_message
26
+ fake "api/ping-api/v1/conversations/123/messages", method: :post, body: load_fixture('ping/message')
27
+
28
+ conversation = ShopifyAPI::Ping::Conversation.new(id: '123')
29
+ message = conversation.send_message(
30
+ dedupe_key: SecureRandom.uuid,
31
+ content: {
32
+ text: "Hello from shopify_api",
33
+ },
34
+ sender_id: 'test',
35
+ )
36
+
37
+ assert_equal "d0c7a2e6-8084-4e79-8483-e4a1352b81f7", message.id
38
+ end
39
+ end
@@ -30,11 +30,13 @@ class Test::Unit::TestCase < Minitest::Unit::TestCase
30
30
 
31
31
  def setup
32
32
  ActiveResource::Base.format = :json
33
- ShopifyAPI.constants.each do |const|
34
- begin
35
- const = "ShopifyAPI::#{const}".constantize
36
- const.format = :json if const.respond_to?(:format=)
37
- rescue NameError
33
+ [ShopifyAPI, ShopifyAPI::Ping].each do |mod|
34
+ mod.constants.each do |const|
35
+ begin
36
+ const = mod.const_get(const)
37
+ const.format = :json if const.respond_to?(:format=)
38
+ rescue NameError
39
+ end
38
40
  end
39
41
  end
40
42
 
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.12.0
4
+ version: 4.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-04 00:00:00.000000000 Z
11
+ date: 2018-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -214,6 +214,9 @@ files:
214
214
  - lib/shopify_api/resources/order_risk.rb
215
215
  - lib/shopify_api/resources/page.rb
216
216
  - lib/shopify_api/resources/payment_details.rb
217
+ - lib/shopify_api/resources/ping.rb
218
+ - lib/shopify_api/resources/ping/conversation.rb
219
+ - lib/shopify_api/resources/ping/message.rb
217
220
  - lib/shopify_api/resources/policy.rb
218
221
  - lib/shopify_api/resources/price_rule.rb
219
222
  - lib/shopify_api/resources/product.rb
@@ -320,6 +323,8 @@ files:
320
323
  - test/fixtures/order_risks.json
321
324
  - test/fixtures/order_with_properties.json
322
325
  - test/fixtures/orders.json
326
+ - test/fixtures/ping/conversation.json
327
+ - test/fixtures/ping/message.json
323
328
  - test/fixtures/policies.json
324
329
  - test/fixtures/price_rule.json
325
330
  - test/fixtures/price_rules.json
@@ -366,6 +371,7 @@ files:
366
371
  - test/o_auth_test.rb
367
372
  - test/order_risk_test.rb
368
373
  - test/order_test.rb
374
+ - test/ping/conversation_test.rb
369
375
  - test/policy_test.rb
370
376
  - test/price_rule_test.rb
371
377
  - test/product_listing_test.rb