bigcommerce_api 0.6.3 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bigcommerce_api.rb +6 -2
- data/lib/bigcommerce_api/address.rb +45 -0
- data/lib/bigcommerce_api/base.rb +26 -16
- data/lib/bigcommerce_api/brand.rb +7 -5
- data/lib/bigcommerce_api/category.rb +14 -7
- data/lib/bigcommerce_api/coupon.rb +6 -0
- data/lib/bigcommerce_api/customer.rb +26 -0
- data/lib/bigcommerce_api/error.rb +9 -0
- data/lib/bigcommerce_api/hook.rb +11 -0
- data/lib/bigcommerce_api/image.rb +36 -5
- data/lib/bigcommerce_api/option.rb +8 -7
- data/lib/bigcommerce_api/option_set.rb +5 -6
- data/lib/bigcommerce_api/option_set_option.rb +32 -5
- data/lib/bigcommerce_api/option_value.rb +31 -6
- data/lib/bigcommerce_api/order.rb +75 -13
- data/lib/bigcommerce_api/order_coupon.rb +13 -0
- data/lib/bigcommerce_api/order_product.rb +58 -12
- data/lib/bigcommerce_api/order_status.rb +4 -5
- data/lib/bigcommerce_api/product.rb +88 -10
- data/lib/bigcommerce_api/product_option.rb +6 -5
- data/lib/bigcommerce_api/resource.rb +97 -53
- data/lib/bigcommerce_api/rule.rb +13 -7
- data/lib/bigcommerce_api/shipment.rb +17 -8
- data/lib/bigcommerce_api/shipping_address.rb +75 -0
- data/lib/bigcommerce_api/sku.rb +16 -11
- data/lib/bigcommerce_api/store.rb +21 -6
- data/lib/bigcommerce_api/tax_class.rb +3 -5
- metadata +52 -18
- data/lib/bigcommerce_api/shippingaddress.rb +0 -47
data/lib/bigcommerce_api/rule.rb
CHANGED
@@ -1,12 +1,18 @@
|
|
1
1
|
module BigcommerceAPI
|
2
|
-
|
3
2
|
class Rule < Resource
|
4
|
-
attr_accessor :id,
|
5
|
-
:
|
6
|
-
:
|
3
|
+
attr_accessor :id,
|
4
|
+
:conditions,
|
5
|
+
:image_file,
|
6
|
+
:is_enabled,
|
7
|
+
:is_purchasing_disabled,
|
8
|
+
:is_purchasing_hidden,
|
9
|
+
:is_stop,
|
10
|
+
:price_adjuster,
|
11
|
+
:product_id,
|
12
|
+
:purchasing_disabled_message,
|
13
|
+
:sort_order,
|
14
|
+
:weight_adjuster
|
7
15
|
|
8
16
|
belongs_to :product
|
9
|
-
|
10
17
|
end
|
11
|
-
|
12
|
-
end
|
18
|
+
end
|
@@ -1,9 +1,20 @@
|
|
1
1
|
module BigcommerceAPI
|
2
|
-
|
3
2
|
class Shipment < Resource
|
4
|
-
attr_accessor :
|
5
|
-
|
6
|
-
|
3
|
+
attr_accessor :id,
|
4
|
+
:billing_address,
|
5
|
+
:comments,
|
6
|
+
:customer_id,
|
7
|
+
:date_created,
|
8
|
+
:items,
|
9
|
+
:order_address_id,
|
10
|
+
:order_id,
|
11
|
+
:shipping_address,
|
12
|
+
:shipping_method,
|
13
|
+
:tracking_number
|
14
|
+
|
15
|
+
belongs_to :customer,
|
16
|
+
{ order_address: :shipping_address },
|
17
|
+
:order
|
7
18
|
|
8
19
|
# these are all overrides, since Shipments work a little differently
|
9
20
|
def resource_url
|
@@ -20,7 +31,7 @@ module BigcommerceAPI
|
|
20
31
|
|
21
32
|
class << self
|
22
33
|
def all(order_id, params={})
|
23
|
-
resources = BigcommerceAPI::Base.get("/orders/#{order_id}/shipments", :
|
34
|
+
resources = BigcommerceAPI::Base.get("/orders/#{order_id}/shipments", query: date_adjust(params))
|
24
35
|
(resources.success? and !resources.nil?) ? resources.collect{|r| self.new(r)} : []
|
25
36
|
end
|
26
37
|
|
@@ -29,7 +40,5 @@ module BigcommerceAPI
|
|
29
40
|
(r.success? and !r.nil?) ? self.new(r) : nil
|
30
41
|
end
|
31
42
|
end
|
32
|
-
|
33
43
|
end
|
34
|
-
|
35
|
-
end
|
44
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
module BigcommerceAPI
|
2
|
+
class ShippingAddress < Resource
|
3
|
+
attr_accessor :id,
|
4
|
+
:base_cost,
|
5
|
+
:base_handling_cost,
|
6
|
+
:city,
|
7
|
+
:company,
|
8
|
+
:cost_ex_tax,
|
9
|
+
:cost_inc_tax,
|
10
|
+
:cost_tax,
|
11
|
+
:cost_tax_class_id,
|
12
|
+
:country,
|
13
|
+
:country_iso2,
|
14
|
+
:email,
|
15
|
+
:first_name,
|
16
|
+
:handling_cost_ex_tax,
|
17
|
+
:handling_cost_inc_tax,
|
18
|
+
:handling_cost_tax,
|
19
|
+
:handling_cost_tax_class_id,
|
20
|
+
:items_shipped,
|
21
|
+
:items_total,
|
22
|
+
:last_name,
|
23
|
+
:order_id,
|
24
|
+
:phone,
|
25
|
+
:shipping_method,
|
26
|
+
:shipping_zone_id,
|
27
|
+
:shipping_zone_name,
|
28
|
+
:state,
|
29
|
+
:street_1,
|
30
|
+
:street_2,
|
31
|
+
:zip
|
32
|
+
|
33
|
+
belongs_to :shipping_zone,
|
34
|
+
:order
|
35
|
+
|
36
|
+
# this overrides the default method, since this has to come in with an order id
|
37
|
+
def resource_url
|
38
|
+
"orders/#{self.order_id}/shipping_addresses"
|
39
|
+
end
|
40
|
+
|
41
|
+
def parent
|
42
|
+
'order'
|
43
|
+
end
|
44
|
+
|
45
|
+
# TODO: these can probably go in a ReadOnly class
|
46
|
+
def save
|
47
|
+
self.errors = ["Shipping Addresses are readonly"]
|
48
|
+
return false
|
49
|
+
end
|
50
|
+
|
51
|
+
def create(params={})
|
52
|
+
self.errors = ["Shipping Addresses are readonly"]
|
53
|
+
return false
|
54
|
+
end
|
55
|
+
|
56
|
+
def find_for_reload
|
57
|
+
self.class.find(self.order_id,
|
58
|
+
self.id)
|
59
|
+
end
|
60
|
+
|
61
|
+
class << self
|
62
|
+
def all(order_id,
|
63
|
+
params={})
|
64
|
+
resources = BigcommerceAPI::Base.get("/orders/#{order_id}/shipping_addresses", query: date_adjust(params))
|
65
|
+
(resources.success? and !resources.nil?) ? resources.collect{|r| self.new(r)} : []
|
66
|
+
end
|
67
|
+
|
68
|
+
def find(order_id,
|
69
|
+
id)
|
70
|
+
r = BigcommerceAPI::Base.get("/orders/#{order_id}/shipping_addresses/#{id}")
|
71
|
+
(r.success? and !r.nil?) ? self.new(r) : nil
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
data/lib/bigcommerce_api/sku.rb
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
module BigcommerceAPI
|
2
|
-
|
3
2
|
class Sku < Resource
|
4
|
-
attr_accessor :id,
|
3
|
+
attr_accessor :id,
|
4
|
+
:bin_picking_number,
|
5
|
+
:cost_price,
|
6
|
+
:inventory_level,
|
7
|
+
:inventory_warning_level,
|
8
|
+
:options,
|
9
|
+
:product_id,
|
10
|
+
:sku,
|
11
|
+
:upc
|
5
12
|
|
6
13
|
belongs_to :product
|
7
14
|
|
@@ -12,20 +19,20 @@ module BigcommerceAPI
|
|
12
19
|
def parent
|
13
20
|
'product'
|
14
21
|
end
|
15
|
-
|
22
|
+
|
16
23
|
def product_option_id
|
17
24
|
self.options.first['product_option_id']
|
18
25
|
end
|
19
|
-
|
26
|
+
|
20
27
|
def option_value_id
|
21
28
|
self.options.first['option_value_id']
|
22
29
|
end
|
23
|
-
|
30
|
+
|
24
31
|
def product_option
|
25
32
|
po = BigcommerceAPI::Base.get '/products/' + self.product_id.to_s + '/options/' + self.product_option_id.to_s
|
26
33
|
(po.success? and !po.nil?) ? ProductOption.new(po) : nil
|
27
34
|
end
|
28
|
-
|
35
|
+
|
29
36
|
def option_value
|
30
37
|
po = self.product_option
|
31
38
|
if po # we've got to have a product option for this to work
|
@@ -36,7 +43,7 @@ module BigcommerceAPI
|
|
36
43
|
return nil
|
37
44
|
end
|
38
45
|
end
|
39
|
-
|
46
|
+
|
40
47
|
def description
|
41
48
|
out = Array.new
|
42
49
|
po = self.product_option
|
@@ -53,7 +60,7 @@ module BigcommerceAPI
|
|
53
60
|
|
54
61
|
class << self
|
55
62
|
def all(product_id, params={})
|
56
|
-
resources = BigcommerceAPI::Base.get("/products/#{product_id}/skus", :
|
63
|
+
resources = BigcommerceAPI::Base.get("/products/#{product_id}/skus", query: date_adjust(params))
|
57
64
|
(resources.success? and !resources.nil?) ? resources.collect{|r| self.new(r)} : []
|
58
65
|
end
|
59
66
|
|
@@ -62,7 +69,5 @@ module BigcommerceAPI
|
|
62
69
|
(r.success? and !r.nil?) ? self.new(r) : nil
|
63
70
|
end
|
64
71
|
end
|
65
|
-
|
66
72
|
end
|
67
|
-
|
68
|
-
end
|
73
|
+
end
|
@@ -1,7 +1,24 @@
|
|
1
|
-
module BigcommerceAPI
|
2
|
-
|
1
|
+
module BigcommerceAPI
|
3
2
|
class Store < Base
|
4
|
-
attr_accessor :
|
3
|
+
attr_accessor :id,
|
4
|
+
:address,
|
5
|
+
:admin_email,
|
6
|
+
:currency,
|
7
|
+
:currency_symbol,
|
8
|
+
:currency_symbol_location,
|
9
|
+
:decimal_places,
|
10
|
+
:decimal_separator,
|
11
|
+
:dimension_units,
|
12
|
+
:domain,
|
13
|
+
:errors,
|
14
|
+
:language,
|
15
|
+
:logo,
|
16
|
+
:name,
|
17
|
+
:order_email,
|
18
|
+
:phone,
|
19
|
+
:plan_name,
|
20
|
+
:thousands_separator,
|
21
|
+
:weight_units
|
5
22
|
|
6
23
|
# Sample response
|
7
24
|
# {"id"=>"XXXX", "domain"=>"XXXX.mybigcommerce.com", "name"=>"XXXX", "address"=>"", "phone"=>"", "admin_email"=>"XXX", "order_email"=>"XXX", "language"=>"en", "currency"=>"USD", "currency_symbol"=>"$", "decimal_separator"=>".", "thousands_separator"=>",", "decimal_places"=>2, "currency_symbol_location"=>"left", "weight_units"=>"LBS", "dimension_units"=>"Inches", "plan_name"=>"Partner Sandbox"}
|
@@ -15,7 +32,5 @@ module BigcommerceAPI
|
|
15
32
|
send(:"#{k}=", val) if self.respond_to? "#{k}="
|
16
33
|
end
|
17
34
|
end
|
18
|
-
|
19
35
|
end
|
20
|
-
|
21
|
-
end
|
36
|
+
end
|
metadata
CHANGED
@@ -1,83 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bigcommerce_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Dickson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 2.3.5
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 2.3.5
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: httparty
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rdoc
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: jeweler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: minitest
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: webmock
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
81
109
|
- !ruby/object:Gem::Version
|
82
110
|
version: '0'
|
83
111
|
description: Enables Ruby applications to communicate with the BigCommerce API V2.
|
@@ -88,10 +116,17 @@ extra_rdoc_files:
|
|
88
116
|
- LICENSE.txt
|
89
117
|
- README.md
|
90
118
|
files:
|
119
|
+
- LICENSE.txt
|
120
|
+
- README.md
|
91
121
|
- lib/bigcommerce_api.rb
|
122
|
+
- lib/bigcommerce_api/address.rb
|
92
123
|
- lib/bigcommerce_api/base.rb
|
93
124
|
- lib/bigcommerce_api/brand.rb
|
94
125
|
- lib/bigcommerce_api/category.rb
|
126
|
+
- lib/bigcommerce_api/coupon.rb
|
127
|
+
- lib/bigcommerce_api/customer.rb
|
128
|
+
- lib/bigcommerce_api/error.rb
|
129
|
+
- lib/bigcommerce_api/hook.rb
|
95
130
|
- lib/bigcommerce_api/image.rb
|
96
131
|
- lib/bigcommerce_api/inflections.rb
|
97
132
|
- lib/bigcommerce_api/modules/countable.rb
|
@@ -100,6 +135,7 @@ files:
|
|
100
135
|
- lib/bigcommerce_api/option_set_option.rb
|
101
136
|
- lib/bigcommerce_api/option_value.rb
|
102
137
|
- lib/bigcommerce_api/order.rb
|
138
|
+
- lib/bigcommerce_api/order_coupon.rb
|
103
139
|
- lib/bigcommerce_api/order_product.rb
|
104
140
|
- lib/bigcommerce_api/order_status.rb
|
105
141
|
- lib/bigcommerce_api/product.rb
|
@@ -108,12 +144,10 @@ files:
|
|
108
144
|
- lib/bigcommerce_api/result.rb
|
109
145
|
- lib/bigcommerce_api/rule.rb
|
110
146
|
- lib/bigcommerce_api/shipment.rb
|
111
|
-
- lib/bigcommerce_api/
|
147
|
+
- lib/bigcommerce_api/shipping_address.rb
|
112
148
|
- lib/bigcommerce_api/sku.rb
|
113
149
|
- lib/bigcommerce_api/store.rb
|
114
150
|
- lib/bigcommerce_api/tax_class.rb
|
115
|
-
- LICENSE.txt
|
116
|
-
- README.md
|
117
151
|
homepage: http://github.com/ideaoforder/bigcommerce_api
|
118
152
|
licenses:
|
119
153
|
- MIT
|
@@ -124,17 +158,17 @@ require_paths:
|
|
124
158
|
- lib
|
125
159
|
required_ruby_version: !ruby/object:Gem::Requirement
|
126
160
|
requirements:
|
127
|
-
- -
|
161
|
+
- - ">="
|
128
162
|
- !ruby/object:Gem::Version
|
129
163
|
version: '0'
|
130
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
165
|
requirements:
|
132
|
-
- -
|
166
|
+
- - ">="
|
133
167
|
- !ruby/object:Gem::Version
|
134
168
|
version: '0'
|
135
169
|
requirements: []
|
136
170
|
rubyforge_project:
|
137
|
-
rubygems_version: 2.1
|
171
|
+
rubygems_version: 2.4.5.1
|
138
172
|
signing_key:
|
139
173
|
specification_version: 4
|
140
174
|
summary: Enables Ruby applications to communicate with the BigCommerce API
|
@@ -1,47 +0,0 @@
|
|
1
|
-
module BigcommerceAPI
|
2
|
-
|
3
|
-
class Shippingaddress < Resource
|
4
|
-
attr_accessor :shipping_zone_id, :handling_cost_inc_tax, :city, :company, :handling_cost_tax, :cost_tax_class_id, :zip, :street_1, :items_shipped, :country_iso2, :country, :street_2, :handling_cost_ex_tax, :cost_tax, :order_id, :shipping_zone_name, :handling_cost_tax_class_id, :base_handling_cost, :id, :phone, :last_name, :cost_inc_tax, :base_cost, :shipping_method, :items_total, :cost_ex_tax, :email, :state, :first_name
|
5
|
-
|
6
|
-
belongs_to :shipping_zone, :order
|
7
|
-
|
8
|
-
# this overrides the default method, since this has to come in with an order id
|
9
|
-
def resource_url
|
10
|
-
"orders/#{self.order_id}/shippingaddresses"
|
11
|
-
end
|
12
|
-
|
13
|
-
def parent
|
14
|
-
'order'
|
15
|
-
end
|
16
|
-
|
17
|
-
# TODO: these can probably go in a ReadOnly class
|
18
|
-
def save
|
19
|
-
self.errors = ["Shipping Addresses are readonly"]
|
20
|
-
return false
|
21
|
-
end
|
22
|
-
|
23
|
-
def create(params={})
|
24
|
-
self.errors = ["Shipping Addresses are readonly"]
|
25
|
-
return false
|
26
|
-
end
|
27
|
-
|
28
|
-
def find_for_reload
|
29
|
-
self.class.find(self.order_id, self.id)
|
30
|
-
end
|
31
|
-
|
32
|
-
class << self
|
33
|
-
def all(order_id, params={})
|
34
|
-
resources = BigcommerceAPI::Base.get("/orders/#{order_id}/shippingaddresses", :query => date_adjust(params))
|
35
|
-
(resources.success? and !resources.nil?) ? resources.collect{|r| self.new(r)} : []
|
36
|
-
end
|
37
|
-
|
38
|
-
def find(order_id, id)
|
39
|
-
r = BigcommerceAPI::Base.get("/orders/#{order_id}/shippingaddresses/#{id}")
|
40
|
-
(r.success? and !r.nil?) ? self.new(r) : nil
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|