bigcommerce 0.8.2 → 0.8.3
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.
- data/LICENSE +2 -2
- data/README.md +16 -7
- data/Rakefile +2 -0
- data/bigcommerce.gemspec +15 -5
- data/lib/big_commerce.rb +1 -1
- data/lib/bigcommerce/api.rb +13 -1
- data/lib/bigcommerce/connection.rb +5 -1
- data/lib/bigcommerce/version.rb +1 -1
- data/spec/big_commerce_spec.rb +9 -0
- data/spec/spec_helper.rb +8 -1
- data/spec/support/mock_api_context.rb +2 -2
- data/spec/unit/version_spec.rb +13 -0
- metadata +48 -19
data/LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (C)
|
1
|
+
Copyright (C) Bigcommerce, 2011.
|
2
2
|
All rights reserved.
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
@@ -17,4 +17,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
17
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
18
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
19
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20
|
-
THE SOFTWARE.
|
20
|
+
THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,12 +1,19 @@
|
|
1
1
|
Bigcommerce API V2 - Ruby Client
|
2
2
|
================================
|
3
3
|
|
4
|
+
[](https://rubygems.org/gems/bigcommerce-api-ruby)
|
5
|
+
[](https://travis-ci.org/bigcommerce/bigcommerce-api-ruby)
|
6
|
+
[](https://gemnasium.com/bigcommerce/bigcommerce-api-ruby)
|
7
|
+
[](https://codeclimate.com/github/bigcommerce/bigcommerce-api-ruby)
|
8
|
+
[](https://coveralls.io/r/bigcommerce/bigcommerce-api-ruby?branch=master)
|
9
|
+
|
4
10
|
This library provides a wrapper around the Bigcommerce REST API for use within
|
5
11
|
Ruby apps or via the console.
|
6
12
|
|
7
13
|
Note
|
8
14
|
----
|
9
|
-
If you find anything that is missing or needs clean up, please feel free to fork
|
15
|
+
If you find anything that is missing or needs clean up, please feel free to fork
|
16
|
+
it and submit a changes with your pull request.
|
10
17
|
|
11
18
|
Requirements
|
12
19
|
------------
|
@@ -19,7 +26,7 @@ To connect to the API, you need the following credentials:
|
|
19
26
|
- Username of an authorized admin user of the store
|
20
27
|
- API key for the user
|
21
28
|
|
22
|
-
A valid API key is required to authenticate requests. To grant API access for
|
29
|
+
A valid API key is required to authenticate requests. To grant API access for a
|
23
30
|
user, go to Control Panel > Users > Edit User and make sure that the
|
24
31
|
'Enable API access?' checkbox is ticked.
|
25
32
|
|
@@ -33,11 +40,13 @@ install the package directly from Rubygems:
|
|
33
40
|
gem install bigcommerce
|
34
41
|
```
|
35
42
|
|
36
|
-
Note
|
43
|
+
Note that the RubyGems version of this gem might be outdated. You can install the
|
44
|
+
gem directly from this repo. If you are using Rails, you can point your Gemfile
|
45
|
+
to this git repo directly or do a local install of the gem by -
|
37
46
|
|
38
47
|
```
|
39
|
-
|
40
|
-
gem install bigcommerce
|
48
|
+
rake build
|
49
|
+
gem install pkg/bigcommerce-*.gem
|
41
50
|
```
|
42
51
|
|
43
52
|
Configuration
|
@@ -70,7 +79,8 @@ api = Bigcommerce::Api.new({
|
|
70
79
|
:verify_ssl => OpenSSL::SSL::VERIFY_PEER
|
71
80
|
})
|
72
81
|
```
|
73
|
-
Remember that the fields
|
82
|
+
Remember that the fields `:ssl_client_cert`, `:ssl_client_key`, `:ssl_ca_file`
|
83
|
+
and `:verify_ssl` are all required when enabling SSL certificates.
|
74
84
|
|
75
85
|
Connecting to the store
|
76
86
|
-----------------------
|
@@ -118,4 +128,3 @@ api.update_products(31,{:name => "marvel comics spiderman",:sku => "marvel-spide
|
|
118
128
|
api.update_optionsets(13,{:name => "Marvel toys"})
|
119
129
|
|
120
130
|
```
|
121
|
-
|
data/Rakefile
CHANGED
data/bigcommerce.gemspec
CHANGED
@@ -2,19 +2,29 @@
|
|
2
2
|
require File.expand_path('../lib/bigcommerce/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
|
-
|
5
|
+
if RUBY_VERSION < '1.9'
|
6
|
+
s.add_dependency('activesupport', '< 4.0')
|
7
|
+
else
|
8
|
+
s.add_dependency('activesupport')
|
9
|
+
end
|
6
10
|
s.add_dependency('json')
|
7
11
|
s.add_dependency('rest-client')
|
12
|
+
if RUBY_VERSION >= '1.9'
|
13
|
+
s.add_development_dependency("coveralls")
|
14
|
+
end
|
8
15
|
s.add_development_dependency("ci_reporter")
|
9
|
-
s.add_development_dependency("vcr")
|
10
|
-
s.add_development_dependency("webmock", '1.9')
|
11
16
|
s.add_development_dependency("mocha")
|
12
17
|
s.add_development_dependency("rake")
|
13
18
|
s.add_development_dependency("rspec", '~> 2.11')
|
14
|
-
s.
|
19
|
+
s.add_development_dependency("vcr")
|
20
|
+
s.add_development_dependency("webmock", '1.9')
|
21
|
+
s.authors = ["Mark Rickerby", "Rob Howard", "Saranyan Vigraham", "Sasha Gerrand"]
|
15
22
|
s.date = Time.now.strftime("%Y-%m-%d")
|
16
23
|
s.description = "Enables Ruby applications to communicate with the Bigcommerce API V2."
|
17
|
-
s.email = "
|
24
|
+
s.email = ["mark.rickerby@bigcommerce.com",
|
25
|
+
"rob.howard@bigcommerce.com",
|
26
|
+
"saranyan.vigraham@bigcommerce.com",
|
27
|
+
"sasha.gerrand@bigcommerce.com"]
|
18
28
|
s.files = ["LICENSE", "Rakefile", "README.md", "bigcommerce.gemspec"] + Dir['./**/*.rb'] + Dir['./**/*.crt']
|
19
29
|
s.has_rdoc = false
|
20
30
|
s.homepage = "http://github.com/bigcommerce/bigcommerce-api-ruby"
|
data/lib/big_commerce.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
raise "'big_commerce' (BigCommerce::Api) is no longer supported. Please require 'bigcommerce' (Bigcommerce::Api)"
|
1
|
+
raise "'big_commerce' (BigCommerce::Api) is no longer supported. Please require 'bigcommerce' (Bigcommerce::Api)"
|
data/lib/bigcommerce/api.rb
CHANGED
@@ -53,6 +53,18 @@ module Bigcommerce
|
|
53
53
|
@connection.put("/brands/#{id}", options)
|
54
54
|
end
|
55
55
|
|
56
|
+
def get_coupons(options={})
|
57
|
+
@connection.get("/coupons", options)
|
58
|
+
end
|
59
|
+
|
60
|
+
def create_coupons(options={})
|
61
|
+
@connection.post("/coupons", options)
|
62
|
+
end
|
63
|
+
|
64
|
+
def update_coupon(id, options={})
|
65
|
+
@connection.put("/coupons/#{id}", options)
|
66
|
+
end
|
67
|
+
|
56
68
|
def get_categories(options={})
|
57
69
|
@connection.get("/categories", options)
|
58
70
|
end
|
@@ -196,7 +208,7 @@ module Bigcommerce
|
|
196
208
|
@connection.get("/orders/#{id}/coupons", {})
|
197
209
|
end
|
198
210
|
|
199
|
-
def
|
211
|
+
def get_orders_coupon(order_id,coupon_id)
|
200
212
|
@connection.get("/orders/#{order_id}/coupons/#{coupon_id}", {})
|
201
213
|
end
|
202
214
|
|
@@ -85,7 +85,11 @@ module Bigcommerce
|
|
85
85
|
when :delete then
|
86
86
|
restclient.delete
|
87
87
|
end
|
88
|
-
|
88
|
+
if(response.code == 200)
|
89
|
+
JSON.parse response
|
90
|
+
elsif response.code == 204
|
91
|
+
nil
|
92
|
+
end
|
89
93
|
rescue => e
|
90
94
|
raise "Failed to parse Bigcommerce response: #{e}"
|
91
95
|
end
|
data/lib/bigcommerce/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
begin
|
2
|
+
require 'coveralls'
|
3
|
+
Coveralls.wear!
|
4
|
+
rescue LoadError => e
|
5
|
+
raise e unless RUBY_VERSION < '1.9'
|
6
|
+
end
|
7
|
+
|
1
8
|
require 'bigcommerce'
|
2
9
|
require 'date'
|
3
10
|
require 'vcr'
|
@@ -17,4 +24,4 @@ end
|
|
17
24
|
|
18
25
|
RSpec.configure do |c|
|
19
26
|
c.treat_symbols_as_metadata_keys_with_true_values = true
|
20
|
-
end
|
27
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Bigcommerce do
|
4
|
+
describe 'VERSION' do
|
5
|
+
it "should have a version number set" do
|
6
|
+
expect(Bigcommerce::VERSION).to_not be_nil
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should use a semantic version format" do
|
10
|
+
expect(Bigcommerce::VERSION).to match(/\d+\.\d+\.\d+(rc\d?)?/)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bigcommerce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
-
|
8
|
+
- Mark Rickerby
|
9
|
+
- Rob Howard
|
10
|
+
- Saranyan Vigraham
|
11
|
+
- Sasha Gerrand
|
9
12
|
autorequire:
|
10
13
|
bindir: bin
|
11
14
|
cert_chain: []
|
12
|
-
date: 2013-
|
15
|
+
date: 2013-08-05 00:00:00.000000000 Z
|
13
16
|
dependencies:
|
14
17
|
- !ruby/object:Gem::Dependency
|
15
18
|
name: activesupport
|
@@ -60,7 +63,7 @@ dependencies:
|
|
60
63
|
- !ruby/object:Gem::Version
|
61
64
|
version: '0'
|
62
65
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
66
|
+
name: coveralls
|
64
67
|
requirement: !ruby/object:Gem::Requirement
|
65
68
|
none: false
|
66
69
|
requirements:
|
@@ -76,7 +79,7 @@ dependencies:
|
|
76
79
|
- !ruby/object:Gem::Version
|
77
80
|
version: '0'
|
78
81
|
- !ruby/object:Gem::Dependency
|
79
|
-
name:
|
82
|
+
name: ci_reporter
|
80
83
|
requirement: !ruby/object:Gem::Requirement
|
81
84
|
none: false
|
82
85
|
requirements:
|
@@ -92,23 +95,23 @@ dependencies:
|
|
92
95
|
- !ruby/object:Gem::Version
|
93
96
|
version: '0'
|
94
97
|
- !ruby/object:Gem::Dependency
|
95
|
-
name:
|
98
|
+
name: mocha
|
96
99
|
requirement: !ruby/object:Gem::Requirement
|
97
100
|
none: false
|
98
101
|
requirements:
|
99
|
-
- - '
|
102
|
+
- - ! '>='
|
100
103
|
- !ruby/object:Gem::Version
|
101
|
-
version: '
|
104
|
+
version: '0'
|
102
105
|
type: :development
|
103
106
|
prerelease: false
|
104
107
|
version_requirements: !ruby/object:Gem::Requirement
|
105
108
|
none: false
|
106
109
|
requirements:
|
107
|
-
- - '
|
110
|
+
- - ! '>='
|
108
111
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
112
|
+
version: '0'
|
110
113
|
- !ruby/object:Gem::Dependency
|
111
|
-
name:
|
114
|
+
name: rake
|
112
115
|
requirement: !ruby/object:Gem::Requirement
|
113
116
|
none: false
|
114
117
|
requirements:
|
@@ -124,7 +127,23 @@ dependencies:
|
|
124
127
|
- !ruby/object:Gem::Version
|
125
128
|
version: '0'
|
126
129
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
130
|
+
name: rspec
|
131
|
+
requirement: !ruby/object:Gem::Requirement
|
132
|
+
none: false
|
133
|
+
requirements:
|
134
|
+
- - ~>
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '2.11'
|
137
|
+
type: :development
|
138
|
+
prerelease: false
|
139
|
+
version_requirements: !ruby/object:Gem::Requirement
|
140
|
+
none: false
|
141
|
+
requirements:
|
142
|
+
- - ~>
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '2.11'
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: vcr
|
128
147
|
requirement: !ruby/object:Gem::Requirement
|
129
148
|
none: false
|
130
149
|
requirements:
|
@@ -140,23 +159,27 @@ dependencies:
|
|
140
159
|
- !ruby/object:Gem::Version
|
141
160
|
version: '0'
|
142
161
|
- !ruby/object:Gem::Dependency
|
143
|
-
name:
|
162
|
+
name: webmock
|
144
163
|
requirement: !ruby/object:Gem::Requirement
|
145
164
|
none: false
|
146
165
|
requirements:
|
147
|
-
- -
|
166
|
+
- - '='
|
148
167
|
- !ruby/object:Gem::Version
|
149
|
-
version: '
|
168
|
+
version: '1.9'
|
150
169
|
type: :development
|
151
170
|
prerelease: false
|
152
171
|
version_requirements: !ruby/object:Gem::Requirement
|
153
172
|
none: false
|
154
173
|
requirements:
|
155
|
-
- -
|
174
|
+
- - '='
|
156
175
|
- !ruby/object:Gem::Version
|
157
|
-
version: '
|
176
|
+
version: '1.9'
|
158
177
|
description: Enables Ruby applications to communicate with the Bigcommerce API V2.
|
159
|
-
email:
|
178
|
+
email:
|
179
|
+
- mark.rickerby@bigcommerce.com
|
180
|
+
- rob.howard@bigcommerce.com
|
181
|
+
- saranyan.vigraham@bigcommerce.com
|
182
|
+
- sasha.gerrand@bigcommerce.com
|
160
183
|
executables: []
|
161
184
|
extensions: []
|
162
185
|
extra_rdoc_files: []
|
@@ -170,6 +193,7 @@ files:
|
|
170
193
|
- ./lib/bigcommerce/connection.rb
|
171
194
|
- ./lib/bigcommerce/version.rb
|
172
195
|
- ./lib/bigcommerce.rb
|
196
|
+
- ./spec/big_commerce_spec.rb
|
173
197
|
- ./spec/integration/orders_spec.rb
|
174
198
|
- ./spec/spec_helper.rb
|
175
199
|
- ./spec/support/integration_context.rb
|
@@ -177,10 +201,13 @@ files:
|
|
177
201
|
- ./spec/unit/api_request_spec.rb
|
178
202
|
- ./spec/unit/connection_spec.rb
|
179
203
|
- ./spec/unit/date_time_spec.rb
|
204
|
+
- ./spec/unit/version_spec.rb
|
205
|
+
- spec/big_commerce_spec.rb
|
180
206
|
- spec/integration/orders_spec.rb
|
181
207
|
- spec/unit/api_request_spec.rb
|
182
208
|
- spec/unit/connection_spec.rb
|
183
209
|
- spec/unit/date_time_spec.rb
|
210
|
+
- spec/unit/version_spec.rb
|
184
211
|
homepage: http://github.com/bigcommerce/bigcommerce-api-ruby
|
185
212
|
licenses: []
|
186
213
|
post_install_message:
|
@@ -201,12 +228,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
228
|
version: '0'
|
202
229
|
requirements: []
|
203
230
|
rubyforge_project:
|
204
|
-
rubygems_version: 1.8.
|
231
|
+
rubygems_version: 1.8.24
|
205
232
|
signing_key:
|
206
233
|
specification_version: 3
|
207
234
|
summary: Enables Ruby applications to communicate with the Bigcommerce API
|
208
235
|
test_files:
|
236
|
+
- spec/big_commerce_spec.rb
|
209
237
|
- spec/integration/orders_spec.rb
|
210
238
|
- spec/unit/api_request_spec.rb
|
211
239
|
- spec/unit/connection_spec.rb
|
212
240
|
- spec/unit/date_time_spec.rb
|
241
|
+
- spec/unit/version_spec.rb
|