springboard-retail 4.0.1 → 4.1.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/.travis.yml +1 -0
- data/Gemfile.lock +6 -3
- data/README.md +5 -3
- data/Rakefile +1 -0
- data/lib/springboard/client.rb +6 -1
- data/spec/springboard/client/resource_spec.rb +0 -4
- data/spec/springboard/client_spec.rb +38 -0
- data/springboard-retail.gemspec +1 -1
- data/vendor/cache/hashie-3.4.3.gem +0 -0
- data/vendor/cache/json-1.8.3.gem +0 -0
- metadata +5 -5
- data/vendor/cache/hashie-3.4.1.gem +0 -0
- data/vendor/cache/json-1.8.2.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 738a7ddac21ce8cd9e2b2a74bd1fef9cddd504cc
|
4
|
+
data.tar.gz: b4b5290211fe0fe1c9fa7a5af94f233db8e01c79
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c5563eff3f6cfb9513ccc8559e043b50edf1ccd7b536b6c1e6effb0fbd4f090d194ba00a26a177e1cdfc49640a46a40c7f2c660c0ea2cc537a4ebc3a91295b7
|
7
|
+
data.tar.gz: f0d59e9cd2c1dc3a001d0254e8756a9eca0c30baf344a17bd23df9779dc05b3c6e715f1fadf2354fece490a892cc80e280345f1f157dc23eda636bc1fcc4904b
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
springboard-retail (4.0
|
4
|
+
springboard-retail (4.1.0)
|
5
5
|
addressable (~> 2.2.8)
|
6
6
|
hashie
|
7
7
|
json (>= 1.7.4)
|
@@ -22,8 +22,8 @@ GEM
|
|
22
22
|
safe_yaml (~> 1.0.0)
|
23
23
|
diff-lcs (1.2.5)
|
24
24
|
docile (1.1.5)
|
25
|
-
hashie (3.4.
|
26
|
-
json (1.8.
|
25
|
+
hashie (3.4.3)
|
26
|
+
json (1.8.3)
|
27
27
|
method_source (0.8.2)
|
28
28
|
mime-types (2.4.3)
|
29
29
|
multi_json (1.11.0)
|
@@ -75,3 +75,6 @@ DEPENDENCIES
|
|
75
75
|
rspec (~> 3.2)
|
76
76
|
springboard-retail!
|
77
77
|
webmock
|
78
|
+
|
79
|
+
BUNDLED WITH
|
80
|
+
1.11.2
|
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
[](http://badge.fury.io/rb/springboard-retail)
|
4
4
|
[](https://travis-ci.org/springboardretail/springboard-client-ruby)
|
5
5
|
[](https://codeclimate.com/github/springboardretail/springboard-client-ruby)
|
6
|
-
[](https://coveralls.io/github/springboardretail/springboard-client-ruby?branch=master)
|
7
7
|
[](https://gemnasium.com/springboardretail/springboard-client-ruby)
|
8
8
|
|
9
9
|
This is the [Springboard Retail](http://springboardretail.com/) (a point-of-sale/retail management system) client library for Ruby. It provides access to the Springboard Retail HTTP API.
|
@@ -27,8 +27,10 @@ gem install springboard-retail
|
|
27
27
|
|
28
28
|
```ruby
|
29
29
|
require 'springboard-retail'
|
30
|
-
springboard = Springboard::Client.new
|
31
|
-
|
30
|
+
springboard = Springboard::Client.new(
|
31
|
+
'https://example.myspringboard.us/api',
|
32
|
+
token: 'secret_token'
|
33
|
+
)
|
32
34
|
```
|
33
35
|
|
34
36
|
## Resource oriented
|
data/Rakefile
CHANGED
data/lib/springboard/client.rb
CHANGED
@@ -42,6 +42,7 @@ module Springboard
|
|
42
42
|
# @param [String] base_uri Base URI
|
43
43
|
# @option opts [Boolean, String] :debug Pass true to debug to stdout. Pass a String to debug to given filename.
|
44
44
|
# @option opts [Boolean] :insecure Disable SSL certificate verification
|
45
|
+
# @option opts [String] :token Springboard API Token
|
45
46
|
def initialize(base_uri, opts={})
|
46
47
|
@base_uri = URI.parse(base_uri)
|
47
48
|
configure_session(base_uri, opts)
|
@@ -69,6 +70,7 @@ module Springboard
|
|
69
70
|
end
|
70
71
|
|
71
72
|
##
|
73
|
+
# @deprecated see {#initialize}.
|
72
74
|
# Passes the given credentials to the server, storing the session token on success.
|
73
75
|
#
|
74
76
|
# @raise [AuthFailed] If the credentials were invalid or the server returned an error
|
@@ -78,6 +80,8 @@ module Springboard
|
|
78
80
|
# @option opts [String] :username Springboard username
|
79
81
|
# @option opts [String] :password Springboard password
|
80
82
|
def auth(opts={})
|
83
|
+
warn "[DEPRECATION] `auth` is deprecated. Please use `Springboard::Client.new '#{base_uri}', token: 'secret_token'` instead."
|
84
|
+
|
81
85
|
unless opts[:username] && opts[:password]
|
82
86
|
raise "Must specify :username and :password"
|
83
87
|
end
|
@@ -199,7 +203,7 @@ module Springboard
|
|
199
203
|
end
|
200
204
|
end
|
201
205
|
end
|
202
|
-
|
206
|
+
|
203
207
|
##
|
204
208
|
# Returns a count of subordinate resources of the given collection resource
|
205
209
|
# URI.
|
@@ -248,6 +252,7 @@ module Springboard
|
|
248
252
|
def configure_session(base_url, opts)
|
249
253
|
session.base_url = base_url
|
250
254
|
session.headers['Content-Type'] = 'application/json'
|
255
|
+
session.headers['Authorization'] = "Bearer #{opts[:token]}" if opts[:token]
|
251
256
|
session.handle_cookies
|
252
257
|
session.insecure = opts[:insecure] if opts.has_key?(:insecure)
|
253
258
|
session.timeout = DEFAULT_TIMEOUT
|
@@ -6,10 +6,6 @@ describe Springboard::Client::Resource do
|
|
6
6
|
let(:resource_path) { '/some/path' }
|
7
7
|
let(:resource) { Springboard::Client::Resource.new(client, resource_path) }
|
8
8
|
|
9
|
-
def parse_uri(uri)
|
10
|
-
Addressable::URI.parse(uri)
|
11
|
-
end
|
12
|
-
|
13
9
|
describe "[]" do
|
14
10
|
it "should return a new resource" do
|
15
11
|
expect(resource["subpath"]).to be_a Springboard::Client::Resource
|
@@ -68,6 +68,19 @@ describe Springboard::Client do
|
|
68
68
|
client.__send__(:configure_session, base_url, {})
|
69
69
|
expect(client.session.connect_timeout).to eq(Springboard::Client::DEFAULT_CONNECT_TIMEOUT)
|
70
70
|
end
|
71
|
+
|
72
|
+
context 'headers' do
|
73
|
+
let(:headers) { double('headers') }
|
74
|
+
before do
|
75
|
+
allow(session).to receive(:headers).and_return(headers)
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'sets Content-Type header' do
|
79
|
+
expect(headers).to receive(:[]=).once.with('Content-Type', 'application/json')
|
80
|
+
expect(headers).to receive(:[]=).once.with('Authorization', 'Bearer token')
|
81
|
+
client.__send__(:configure_session, base_url, :token => 'token')
|
82
|
+
end
|
83
|
+
end
|
71
84
|
end
|
72
85
|
|
73
86
|
describe "[]" do
|
@@ -76,6 +89,21 @@ describe Springboard::Client do
|
|
76
89
|
end
|
77
90
|
end
|
78
91
|
|
92
|
+
describe "debug=" do
|
93
|
+
context "with a file path" do
|
94
|
+
it "should pass the path to enable_debug on the Patron session" do
|
95
|
+
expect(client.session).to receive(:enable_debug).with('/path/to/log')
|
96
|
+
client.debug = '/path/to/log'
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
context "with true" do
|
101
|
+
it "should pass nil to enable_debug on the Patron session" do
|
102
|
+
expect(client.session).to receive(:enable_debug).with(nil)
|
103
|
+
client.debug = true
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
79
107
|
|
80
108
|
[:get, :head, :delete].each do |method|
|
81
109
|
bang_method = "#{method}!"
|
@@ -211,4 +239,14 @@ describe Springboard::Client do
|
|
211
239
|
end.to yield_successive_args(*all_results)
|
212
240
|
end
|
213
241
|
end
|
242
|
+
|
243
|
+
describe "count" do
|
244
|
+
it "should request the first page/record of the collection and return the total" do
|
245
|
+
response = double(Springboard::Client::Response)
|
246
|
+
allow(response).to receive(:[]).with('total').and_return(17)
|
247
|
+
expect(client).to receive(:get!).with("/things?page=1&per_page=1".to_uri)
|
248
|
+
.and_return(response)
|
249
|
+
expect(client.count('/things')).to eq(17)
|
250
|
+
end
|
251
|
+
end
|
214
252
|
end
|
data/springboard-retail.gemspec
CHANGED
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: springboard-retail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay Stotz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: patron
|
@@ -103,8 +103,8 @@ files:
|
|
103
103
|
- vendor/cache/crack-0.4.2.gem
|
104
104
|
- vendor/cache/diff-lcs-1.2.5.gem
|
105
105
|
- vendor/cache/docile-1.1.5.gem
|
106
|
-
- vendor/cache/hashie-3.4.
|
107
|
-
- vendor/cache/json-1.8.
|
106
|
+
- vendor/cache/hashie-3.4.3.gem
|
107
|
+
- vendor/cache/json-1.8.3.gem
|
108
108
|
- vendor/cache/method_source-0.8.2.gem
|
109
109
|
- vendor/cache/mime-types-2.4.3.gem
|
110
110
|
- vendor/cache/multi_json-1.11.0.gem
|
@@ -145,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
145
|
version: 1.3.6
|
146
146
|
requirements: []
|
147
147
|
rubyforge_project:
|
148
|
-
rubygems_version: 2.
|
148
|
+
rubygems_version: 2.4.8
|
149
149
|
signing_key:
|
150
150
|
specification_version: 4
|
151
151
|
summary: Springboard Retail API client library
|
Binary file
|
data/vendor/cache/json-1.8.2.gem
DELETED
Binary file
|