springboard-retail 4.0.1 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Gem Version](https://badge.fury.io/rb/springboard-retail.png)](http://badge.fury.io/rb/springboard-retail)
|
4
4
|
[![Build Status](https://travis-ci.org/springboardretail/springboard-client-ruby.png?branch=master)](https://travis-ci.org/springboardretail/springboard-client-ruby)
|
5
5
|
[![Code Climate](https://codeclimate.com/github/springboardretail/springboard-client-ruby.png)](https://codeclimate.com/github/springboardretail/springboard-client-ruby)
|
6
|
-
[![Coverage Status](https://coveralls.io/repos/springboardretail/springboard-client-ruby/badge.
|
6
|
+
[![Coverage Status](https://coveralls.io/repos/github/springboardretail/springboard-client-ruby/badge.svg?branch=master)](https://coveralls.io/github/springboardretail/springboard-client-ruby?branch=master)
|
7
7
|
[![Dependency Status](https://gemnasium.com/springboardretail/springboard-client-ruby.png)](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
|