veeqo_api_ruby 0.2.2 → 0.3.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 +4 -4
- data/lib/veeqo.rb +1 -0
- data/lib/veeqo/exception.rb +1 -1
- data/lib/veeqo/middleware/auth.rb +1 -0
- data/lib/veeqo/request.rb +8 -2
- data/lib/veeqo/resource_actions.rb +13 -7
- data/lib/veeqo/resources/allocation.rb +65 -0
- data/lib/veeqo/resources/channel.rb +1 -1
- data/lib/veeqo/resources/company.rb +1 -1
- data/lib/veeqo/resources/customer.rb +2 -2
- data/lib/veeqo/resources/delivery_method.rb +2 -2
- data/lib/veeqo/resources/order.rb +5 -7
- data/lib/veeqo/resources/product.rb +1 -1
- data/lib/veeqo/resources/purchase_order.rb +3 -3
- data/lib/veeqo/resources/shipment.rb +21 -0
- data/lib/veeqo/resources/stock_entry.rb +22 -0
- data/lib/veeqo/resources/supplier.rb +4 -4
- data/lib/veeqo/resources/tag.rb +14 -0
- data/lib/veeqo/resources/warehouse.rb +2 -2
- data/lib/veeqo/subresource_actions.rb +2 -0
- data/lib/veeqo/version.rb +1 -1
- metadata +22 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cf3b67027ebfec13af0469c401ab940ec7987aa
|
4
|
+
data.tar.gz: 486445cebc519706afe0264b21740f55805860c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f4003cea81aa122e13e4677ced2d225b99a7b2ea60ed3def4201453e0913196fe58089ffd91ee177b052d0211832dd7d27b7ce2e810ca7a47029d1b8e48b7b1a
|
7
|
+
data.tar.gz: 9d84d4760e10b0a27f5565f903bed70170505c21c6d614d7155ced2f39302080f63d1722aaa7bd94b3f42ba9bee4646f301089473ae3f180c01726757bf865c5
|
data/lib/veeqo.rb
CHANGED
data/lib/veeqo/exception.rb
CHANGED
data/lib/veeqo/request.rb
CHANGED
@@ -50,7 +50,8 @@ module Veeqo
|
|
50
50
|
|
51
51
|
def delete(path, params = {})
|
52
52
|
response = raw_request(:delete, path, params)
|
53
|
-
response.body
|
53
|
+
return response.body if response.body.empty?
|
54
|
+
build_response_object response
|
54
55
|
end
|
55
56
|
|
56
57
|
def post(path, params = {})
|
@@ -63,6 +64,11 @@ module Veeqo
|
|
63
64
|
build_response_object response
|
64
65
|
end
|
65
66
|
|
67
|
+
def quantity(path, params = {})
|
68
|
+
response = raw_request(:get, path, params)
|
69
|
+
response.headers['X-Total-Count'].to_i
|
70
|
+
end
|
71
|
+
|
66
72
|
def raw_request(method, path, params = {})
|
67
73
|
client = params.delete(:connection) || Veeqo.api
|
68
74
|
client.send(method, path.to_s, params)
|
@@ -81,7 +87,7 @@ module Veeqo
|
|
81
87
|
|
82
88
|
def parse(json)
|
83
89
|
return [] if json.empty?
|
84
|
-
|
90
|
+
Oj.load(json, symbol_keys: true)
|
85
91
|
end
|
86
92
|
end
|
87
93
|
end
|
@@ -4,19 +4,21 @@ module Veeqo
|
|
4
4
|
|
5
5
|
def initialize(options = {})
|
6
6
|
@options = options
|
7
|
-
|
8
|
-
|
9
|
-
mod.options
|
10
|
-
end
|
7
|
+
define_singleton_method :_options do
|
8
|
+
options
|
11
9
|
end
|
12
10
|
end
|
13
11
|
|
14
12
|
def included(base)
|
15
13
|
base.send(:include, Request.new(options[:uri]))
|
16
14
|
base.extend(ClassMethods)
|
17
|
-
options[:
|
18
|
-
methods = ClassMethods.public_instance_methods & options[:
|
19
|
-
|
15
|
+
options[:disable] ||= []
|
16
|
+
methods = ClassMethods.public_instance_methods & options[:disable]
|
17
|
+
class << base
|
18
|
+
self
|
19
|
+
end.class_eval do
|
20
|
+
methods.each { |filtered_name| undef_method filtered_name }
|
21
|
+
end
|
20
22
|
end
|
21
23
|
|
22
24
|
module ClassMethods
|
@@ -46,6 +48,10 @@ module Veeqo
|
|
46
48
|
def destroy_all(params = {})
|
47
49
|
delete path.build, params
|
48
50
|
end
|
51
|
+
|
52
|
+
def count(params = {})
|
53
|
+
quantity path.build, params
|
54
|
+
end
|
49
55
|
end
|
50
56
|
end
|
51
57
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# Allocations
|
2
|
+
# Resources related to the allocations in the API.
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/allocations/allocation-collection/create-a-new-allocation
|
4
|
+
|
5
|
+
module Veeqo
|
6
|
+
class Allocation < Resource
|
7
|
+
include Veeqo::SubresourceActions.new(uri: 'orders/%d/allocations/%d', disable: %i[destroy_all all find])
|
8
|
+
|
9
|
+
property :id
|
10
|
+
property :additional_order_level_taxless_discount
|
11
|
+
property :allocated_completely
|
12
|
+
property :allocations
|
13
|
+
property :allocated_by_id
|
14
|
+
property :buyer_user_id
|
15
|
+
property :cancel_reason
|
16
|
+
property :cancelled_at
|
17
|
+
property :cancelled_by
|
18
|
+
property :channel
|
19
|
+
property :created_at
|
20
|
+
property :created_by
|
21
|
+
property :customer
|
22
|
+
property :customer_note
|
23
|
+
property :customer_viewable_notes
|
24
|
+
property :deliver_to
|
25
|
+
property :delivery_cost
|
26
|
+
property :delivery_method
|
27
|
+
property :due_date
|
28
|
+
property :employee_notes
|
29
|
+
property :fulfilled_by_amazon
|
30
|
+
property :fulfillment_channel_order
|
31
|
+
property :international
|
32
|
+
property :is_amazon_premium_order
|
33
|
+
property :is_amazon_prime
|
34
|
+
property :line_items
|
35
|
+
property :matched_parcel_properties_criteria
|
36
|
+
property :notes
|
37
|
+
property :number
|
38
|
+
property :order_id
|
39
|
+
property :packed_completely
|
40
|
+
property :payment
|
41
|
+
property :picked_completely
|
42
|
+
property :receipt_printed
|
43
|
+
property :recommended_shipping_options
|
44
|
+
property :refund_amount
|
45
|
+
property :restock_shipped_items
|
46
|
+
property :returns
|
47
|
+
property :send_notification_email
|
48
|
+
property :send_refund_email
|
49
|
+
property :shipment
|
50
|
+
property :shipped_at
|
51
|
+
property :status
|
52
|
+
property :subtotal_price
|
53
|
+
property :tags
|
54
|
+
property :till_id
|
55
|
+
property :total_discounts
|
56
|
+
property :total_fees
|
57
|
+
property :total_price
|
58
|
+
property :total_tax
|
59
|
+
property :total_weight
|
60
|
+
property :updated_at
|
61
|
+
property :updated_by
|
62
|
+
property :weight_unit
|
63
|
+
property :warehouse
|
64
|
+
end
|
65
|
+
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# customers
|
2
2
|
# Resources related to the customers in the API.
|
3
|
-
#
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/customers/customer-collection/list-all-customers
|
4
4
|
|
5
5
|
module Veeqo
|
6
6
|
class Customer < Resource
|
7
|
-
include Veeqo::ResourceActions.new(uri: 'customers/%d', disable: [
|
7
|
+
include Veeqo::ResourceActions.new(uri: 'customers/%d', disable: %i[destroy destroy_all])
|
8
8
|
|
9
9
|
property :id
|
10
10
|
property :email
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# DeliveryMethods
|
2
2
|
# Resources related to the DeliveryMethods in the API.
|
3
|
-
#
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/delivery-methods/delivery-methods-collection/list-all-delivery-methods
|
4
4
|
|
5
5
|
module Veeqo
|
6
6
|
class DeliveryMethod < Resource
|
7
|
-
include Veeqo::ResourceActions.new(uri: 'delivery_methods/%d', disable: [
|
7
|
+
include Veeqo::ResourceActions.new(uri: 'delivery_methods/%d', disable: %i[destroy_all count])
|
8
8
|
|
9
9
|
property :id
|
10
10
|
property :cost
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# Orders
|
2
2
|
# Resources related to the orders in the API.
|
3
|
-
#
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/orders/order-collection
|
4
4
|
|
5
5
|
module Veeqo
|
6
6
|
class Order < Resource
|
7
|
-
include Veeqo::ResourceActions.new(uri: 'orders/%d', disable: [
|
7
|
+
include Veeqo::ResourceActions.new(uri: 'orders/%d', disable: %i[destroy destroy_all])
|
8
8
|
|
9
9
|
property :id
|
10
10
|
property :allocated_completely
|
@@ -48,11 +48,9 @@ module Veeqo
|
|
48
48
|
property :updated_at
|
49
49
|
property :updated_by
|
50
50
|
|
51
|
-
def self.
|
52
|
-
raise ArgumentError if
|
53
|
-
|
54
|
-
rescue Veeqo::NotFound
|
55
|
-
nil
|
51
|
+
def self.bulk_tagging(resource_ids, tag_ids, params = {})
|
52
|
+
raise ArgumentError if resource_ids.empty? || tag_ids.empty?
|
53
|
+
post 'https://app.veeqo.com/bulk_tagging', { order_ids: [*resource_ids], tag_ids: [*tag_ids] }.merge(params)
|
56
54
|
end
|
57
55
|
end
|
58
56
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Products
|
2
2
|
# Resources related to the products in the API.
|
3
|
-
#
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/products/product-collection/list-all-products
|
4
4
|
|
5
5
|
module Veeqo
|
6
6
|
class Product < Resource
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# PurchaseOrder
|
2
2
|
# Resources related to the purchase order in the API.
|
3
|
-
#
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/purchase-orders/purchase-order-collection/list-all-purchase-orders
|
4
4
|
|
5
5
|
module Veeqo
|
6
6
|
class PurchaseOrder < Resource
|
7
|
-
include Veeqo::ResourceActions.new(uri: 'purchase_orders/%d', disable: [
|
7
|
+
include Veeqo::ResourceActions.new(uri: 'purchase_orders/%d', disable: %i[update destroy destroy_all])
|
8
8
|
|
9
9
|
property :id
|
10
10
|
property :number
|
@@ -33,7 +33,7 @@ module Veeqo
|
|
33
33
|
|
34
34
|
def self.create(params = {})
|
35
35
|
post path.build, params
|
36
|
-
rescue
|
36
|
+
rescue Oj::ParseError
|
37
37
|
nil
|
38
38
|
end
|
39
39
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Shipments
|
2
|
+
# Resources related to the shipments in the API.
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/shipments/shipment-collection/create-a-shipment
|
4
|
+
|
5
|
+
module Veeqo
|
6
|
+
class Shipment < Resource
|
7
|
+
include Veeqo::ResourceActions.new(uri: 'shipments/%d', disable: %i[find all count destroy_all])
|
8
|
+
|
9
|
+
property :allocation_id
|
10
|
+
property :carrier
|
11
|
+
property :carrier_id
|
12
|
+
property :created_at
|
13
|
+
property :id
|
14
|
+
property :notify_customer
|
15
|
+
property :order_id
|
16
|
+
property :shipped_by_id
|
17
|
+
property :tracking_number
|
18
|
+
property :update_remote_order
|
19
|
+
property :weight
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Stock Entries
|
2
|
+
# Resources related to the stock entries in the API.
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/stock-entries/stock-entry
|
4
|
+
|
5
|
+
module Veeqo
|
6
|
+
class StockEntry < Resource
|
7
|
+
include Veeqo::SubresourceActions.new(uri: 'sellables/%d/warehouses/%d/stock_entry', disable: %i[destroy destroy_all all find create])
|
8
|
+
property :allocated_stock_level
|
9
|
+
property :available_stock_level
|
10
|
+
property :id
|
11
|
+
property :incoming_stock_level
|
12
|
+
property :infinite
|
13
|
+
property :location
|
14
|
+
property :physical_stock_level
|
15
|
+
property :sellable_id
|
16
|
+
property :sellable_on_hand_value
|
17
|
+
property :stock_running_low
|
18
|
+
property :updated_at
|
19
|
+
property :warehouse
|
20
|
+
property :warehouse_id
|
21
|
+
end
|
22
|
+
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
#
|
2
|
-
# Resources related to the
|
3
|
-
#
|
1
|
+
# Suppliers
|
2
|
+
# Resources related to the suppliers in the API.
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/suppliers/supplier-collection
|
4
4
|
|
5
5
|
module Veeqo
|
6
6
|
class Supplier < Resource
|
7
|
-
include Veeqo::ResourceActions.new(uri: 'suppliers/%d', disable: [
|
7
|
+
include Veeqo::ResourceActions.new(uri: 'suppliers/%d', disable: %i[find create destroy destroy_all])
|
8
8
|
|
9
9
|
property :id
|
10
10
|
property :name
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Tags
|
2
|
+
# Resources related to the tags in the API.
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/tags/tag-collection
|
4
|
+
|
5
|
+
module Veeqo
|
6
|
+
class Tag < Resource
|
7
|
+
include Veeqo::ResourceActions.new uri: 'tags/%d', disable: %i[destroy_all count]
|
8
|
+
property :colour
|
9
|
+
property :company_id
|
10
|
+
property :id
|
11
|
+
property :name
|
12
|
+
property :taggings_count
|
13
|
+
end
|
14
|
+
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# Warehouses
|
2
2
|
# Resources related to the Warehouses in the API.
|
3
|
-
#
|
3
|
+
# http://docs.veeqo.apiary.io/#reference/warehouses/warehouse-collection
|
4
4
|
|
5
5
|
module Veeqo
|
6
6
|
class Warehouse < Resource
|
7
|
-
include Veeqo::ResourceActions.new(uri: 'warehouses/%d', disable: [
|
7
|
+
include Veeqo::ResourceActions.new(uri: 'warehouses/%d', disable: %i[create update destroy destroy_all])
|
8
8
|
|
9
9
|
property :id
|
10
10
|
property :address_line_1
|
data/lib/veeqo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: veeqo_api_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yurkiv Misha
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -72,14 +72,28 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.13.1
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 0.13.1
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: oj
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: faraday_middleware
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,6 +152,7 @@ files:
|
|
138
152
|
- lib/veeqo/middleware/http_exception.rb
|
139
153
|
- lib/veeqo/request.rb
|
140
154
|
- lib/veeqo/resource_actions.rb
|
155
|
+
- lib/veeqo/resources/allocation.rb
|
141
156
|
- lib/veeqo/resources/channel.rb
|
142
157
|
- lib/veeqo/resources/company.rb
|
143
158
|
- lib/veeqo/resources/customer.rb
|
@@ -146,7 +161,10 @@ files:
|
|
146
161
|
- lib/veeqo/resources/product.rb
|
147
162
|
- lib/veeqo/resources/purchase_order.rb
|
148
163
|
- lib/veeqo/resources/resource.rb
|
164
|
+
- lib/veeqo/resources/shipment.rb
|
165
|
+
- lib/veeqo/resources/stock_entry.rb
|
149
166
|
- lib/veeqo/resources/supplier.rb
|
167
|
+
- lib/veeqo/resources/tag.rb
|
150
168
|
- lib/veeqo/resources/warehouse.rb
|
151
169
|
- lib/veeqo/subresource_actions.rb
|
152
170
|
- lib/veeqo/version.rb
|