catalogapi 0.1.0rc3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/catalogapi.rb +3 -0
- data/lib/catalogapi/fulfillment.rb +12 -0
- data/lib/catalogapi/metadata.rb +12 -0
- data/lib/catalogapi/order.rb +6 -3
- data/lib/catalogapi/order_item.rb +21 -0
- data/lib/catalogapi/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a97c95a542bc5eff4e1ad8a95cbbddd760b152b22714c991716f29617b54b2ab
|
4
|
+
data.tar.gz: cdaa69867af988890cb39f2eef877d05706c9f5a2097f68bdcb5e07a0742b2c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d064d9d8e64a011282233d8f7f340121f5cb45ab090a750eb84effb1d634b8d9c786be938e4f6bbff092d3c50320251343445f01a1503a7f39a6e5f6195ca6f
|
7
|
+
data.tar.gz: c8a3975c77514a73eb19ba12b4937213478edb604bff2438ffd13e857af726e82132cc068da17094a91bd44288b09eac6f611a48d20ffeb15e09948cc5a976a6
|
data/Gemfile.lock
CHANGED
data/lib/catalogapi.rb
CHANGED
@@ -3,7 +3,10 @@
|
|
3
3
|
require 'catalogapi/request'
|
4
4
|
require 'catalogapi/catalog'
|
5
5
|
require 'catalogapi/category'
|
6
|
+
require 'catalogapi/order_item'
|
7
|
+
require 'catalogapi/fulfillment'
|
6
8
|
require 'catalogapi/item'
|
9
|
+
require 'catalogapi/metadata'
|
7
10
|
require 'catalogapi/order'
|
8
11
|
require 'catalogapi/version'
|
9
12
|
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CatalogAPI
|
4
|
+
class Fulfillment
|
5
|
+
attr_reader :fulfillment_date, :items, :metadata
|
6
|
+
def initialize(opts)
|
7
|
+
@fulfillment_date = opts[:fulfillment_date]
|
8
|
+
@items = opts.dig(:items, :FulfillmentItem).to_a.map { |i| CatalogAPI::OrderItem.new(i) }
|
9
|
+
@metadata = opts.dig(:metadata, :Meta).to_a.map { |i| CatalogAPI::Metadata.new(i) }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/catalogapi/order.rb
CHANGED
@@ -5,7 +5,8 @@ module CatalogAPI
|
|
5
5
|
attr_reader :date_placed, :external_user_id, :order_number,
|
6
6
|
:external_order_number, :first_name, :last_name,
|
7
7
|
:address_1, :address_2, :address_3, :city, :state_province,
|
8
|
-
:postal_code, :country, :phone_number, :email, :items
|
8
|
+
:postal_code, :country, :phone_number, :email, :items,
|
9
|
+
:fulfillments
|
9
10
|
|
10
11
|
def initialize(opts)
|
11
12
|
@date_placed = nil
|
@@ -28,6 +29,7 @@ module CatalogAPI
|
|
28
29
|
@country = opts[:country]
|
29
30
|
@email = opts[:email]
|
30
31
|
@phone_number = opts[:phone_number]
|
32
|
+
@fulfillments = opts[:fulfillments].to_a
|
31
33
|
@items = opts[:items].to_a
|
32
34
|
end
|
33
35
|
|
@@ -81,8 +83,9 @@ module CatalogAPI
|
|
81
83
|
|
82
84
|
request = CatalogAPI.request.new(:order_track).get(order_number: order_number)
|
83
85
|
json = request.json.dig(:order_track_response, :order_track_result, :order)
|
84
|
-
items = json.dig(:items, :OrderItem).to_a.map { |i| CatalogAPI::
|
85
|
-
|
86
|
+
items = json.dig(:items, :OrderItem).to_a.map { |i| CatalogAPI::OrderItem.new(i) }
|
87
|
+
fulfillments = json.dig(:fulfillments, :Fulfillment).to_a.map { |i| CatalogAPI::Fulfillment.new(i) }
|
88
|
+
request.data = CatalogAPI::Order.new(json.merge(items: items, fulfillments: fulfillments))
|
86
89
|
request
|
87
90
|
end
|
88
91
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module CatalogAPI
|
4
|
+
class OrderItem
|
5
|
+
attr_reader :catalog_item_id, :catalog_price, :currency, :metadata, :name,
|
6
|
+
:option, :order_item_id, :order_item_status,
|
7
|
+
:order_item_status_id, :points
|
8
|
+
def initialize(opts)
|
9
|
+
@catalog_item_id = opts[:catalog_item_id]
|
10
|
+
@catalog_price = opts[:catalog_price]
|
11
|
+
@currency = opts[:currency]
|
12
|
+
@metadata = opts.dig(:metadata, :Meta).to_a.map { |i| CatalogAPI::Metadata.new(i) }
|
13
|
+
@name = opts[:name]
|
14
|
+
@option = opts[:option]
|
15
|
+
@order_item_id = opts[:order_item_id]
|
16
|
+
@order_item_status = opts[:order_item_status]
|
17
|
+
@order_item_status_id = opts[:order_item_status_id]
|
18
|
+
@points = opts[:points]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/catalogapi/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: catalogapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- davidrichey
|
@@ -45,8 +45,11 @@ files:
|
|
45
45
|
- lib/catalogapi.rb
|
46
46
|
- lib/catalogapi/catalog.rb
|
47
47
|
- lib/catalogapi/category.rb
|
48
|
+
- lib/catalogapi/fulfillment.rb
|
48
49
|
- lib/catalogapi/item.rb
|
50
|
+
- lib/catalogapi/metadata.rb
|
49
51
|
- lib/catalogapi/order.rb
|
52
|
+
- lib/catalogapi/order_item.rb
|
50
53
|
- lib/catalogapi/request.rb
|
51
54
|
- lib/catalogapi/version.rb
|
52
55
|
homepage: http://github.com/memberhubteam/catalogapi
|
@@ -67,9 +70,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
67
70
|
version: 2.3.0
|
68
71
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
72
|
requirements:
|
70
|
-
- - "
|
73
|
+
- - ">="
|
71
74
|
- !ruby/object:Gem::Version
|
72
|
-
version:
|
75
|
+
version: '0'
|
73
76
|
requirements: []
|
74
77
|
rubygems_version: 3.0.3
|
75
78
|
signing_key:
|