levelup 0.9.3 → 0.9.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +8 -1
- data/levelup.gemspec +2 -0
- data/lib/levelup.rb +2 -0
- data/lib/levelup/api.rb +4 -4
- data/lib/levelup/configuration.rb +1 -1
- data/lib/levelup/endpoints/access_tokens.rb +3 -3
- data/lib/levelup/endpoints/credit_cards.rb +0 -5
- data/lib/levelup/endpoints/location_credit.rb +25 -0
- data/lib/levelup/endpoints/qr_codes.rb +4 -4
- data/lib/levelup/endpoints/specific_location.rb +4 -0
- data/lib/levelup/requests/get_location_credit.rb +13 -0
- data/spec/data_objects/responses/error_spec.rb +3 -3
- data/spec/endpoints/location_credit_spec.rb +22 -0
- data/spec/fixtures/keys.yml.example +1 -0
- data/spec/spec_helper.rb +1 -1
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37ecaa0b0077be335d54744b34de2883647a9e99
|
4
|
+
data.tar.gz: 1eb778f8427864d578c0aa16c52b67701ac9ec42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46a0863b7ee1a7e091f658dfd855a41a75fbb19a45441e2d44abbce8a13dbaf0633832f4b20aedf49d50465e7027829d19862996db9d814661f9bd9277725c38
|
7
|
+
data.tar.gz: 82b2541958f7c3308ab338595d204234ea770976c3a6981362801142932bb62d0d85d9291344950b33856cd8946d2632231c6a5052e261d0d80823fa05a9f6c7
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -66,8 +66,15 @@ response = api.orders.create(
|
|
66
66
|
spend_amount: 350, # in cents; 350 = $3.50
|
67
67
|
items: [
|
68
68
|
{
|
69
|
-
|
69
|
+
charged_price: 350,
|
70
|
+
description: 'Non-poisonous, supplies vital nutrients',
|
71
|
+
name: 'Food',
|
72
|
+
quantity: 1,
|
73
|
+
sku: '123abc',
|
74
|
+
category: 'Edible Things',
|
75
|
+
standard_price: 350
|
70
76
|
}
|
77
|
+
# more items can go here
|
71
78
|
],
|
72
79
|
merchant_access_token: 'merchant-token',
|
73
80
|
user_access_token: 'user-token')
|
data/levelup.gemspec
CHANGED
data/lib/levelup.rb
CHANGED
@@ -18,6 +18,7 @@ require 'levelup/requests/create_address'
|
|
18
18
|
require 'levelup/requests/create_card'
|
19
19
|
require 'levelup/requests/create_order'
|
20
20
|
require 'levelup/requests/create_user'
|
21
|
+
require 'levelup/requests/get_location_credit'
|
21
22
|
require 'levelup/requests/get_order'
|
22
23
|
require 'levelup/requests/get_qr_code'
|
23
24
|
require 'levelup/requests/get_user'
|
@@ -41,6 +42,7 @@ require 'levelup/endpoints/app_locations'
|
|
41
42
|
require 'levelup/endpoints/app_users'
|
42
43
|
require 'levelup/endpoints/apps'
|
43
44
|
require 'levelup/endpoints/credit_cards'
|
45
|
+
require 'levelup/endpoints/location_credit'
|
44
46
|
require 'levelup/endpoints/location_orders'
|
45
47
|
require 'levelup/endpoints/merchant_funded_credits'
|
46
48
|
require 'levelup/endpoints/merchant_locations'
|
data/lib/levelup/api.rb
CHANGED
@@ -15,10 +15,10 @@ module Levelup
|
|
15
15
|
|
16
16
|
# Accepts any combination of the listed parameters, though +api_key+ and
|
17
17
|
# +secret+ work in tandem.
|
18
|
-
def initialize(
|
19
|
-
self.app_access_token = app_access_token
|
20
|
-
self.api_key = api_key
|
21
|
-
self.secret = secret
|
18
|
+
def initialize(options = {})
|
19
|
+
self.app_access_token = options[:app_access_token]
|
20
|
+
self.api_key = options[:api_key]
|
21
|
+
self.secret = options[:secret]
|
22
22
|
end
|
23
23
|
|
24
24
|
# Generates an interface for the +access_tokens+ endpoint.
|
@@ -8,9 +8,9 @@ module Levelup
|
|
8
8
|
# The client secret assigned to your app. Preconfigured key.
|
9
9
|
attr_writer :secret
|
10
10
|
|
11
|
-
def initialize(
|
12
|
-
@api_key = api_key
|
13
|
-
@secret = secret
|
11
|
+
def initialize(auth_info)
|
12
|
+
@api_key = auth_info[:api_key]
|
13
|
+
@secret = auth_info[:secret]
|
14
14
|
end
|
15
15
|
|
16
16
|
# Generates a new app access token. If passed no parameters, attempts to
|
@@ -3,11 +3,6 @@ module Levelup
|
|
3
3
|
# The endpoint holding all functions related to managing users' credit
|
4
4
|
# cards.
|
5
5
|
class CreditCards < Base
|
6
|
-
def initialize(api_key: nil, secret: nil)
|
7
|
-
@api_key = api_key
|
8
|
-
@secret = secret
|
9
|
-
end
|
10
|
-
|
11
6
|
# Adds a credit card to a user's account. Requires a user access token
|
12
7
|
# with create_first_credit_card permission.
|
13
8
|
# This request will fail unless the user account has no credit card on it.
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Levelup
|
2
|
+
module Endpoints
|
3
|
+
# The endpoint holding all functions relating to available credit at
|
4
|
+
# locations.
|
5
|
+
class LocationCredit < Base
|
6
|
+
attr_reader :id
|
7
|
+
|
8
|
+
def initialize(location_id)
|
9
|
+
@id = location_id
|
10
|
+
end
|
11
|
+
|
12
|
+
def get(user_access_token)
|
13
|
+
request =
|
14
|
+
Requests::GetLocationCredit.new(user_access_token: user_access_token)
|
15
|
+
request.send_to_api(:get, endpoint_path)
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def path
|
21
|
+
"locations/#{id}/credit"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -2,10 +2,10 @@ module Levelup
|
|
2
2
|
module Endpoints
|
3
3
|
# The endpoint holding all functions related to managing users' QR codes.
|
4
4
|
class QrCodes < Base
|
5
|
-
def initialize(
|
6
|
-
self.color = color
|
7
|
-
self.tip_amount = tip_amount
|
8
|
-
self.tip_percent = tip_percent
|
5
|
+
def initialize(options = {})
|
6
|
+
self.color = options[:color] || 0
|
7
|
+
self.tip_amount = options[:tip_amount] || 0
|
8
|
+
self.tip_percent = options[:tip_percent] || 0
|
9
9
|
end
|
10
10
|
|
11
11
|
# Retrieves the specified user's QR code using parameters specified
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Levelup
|
2
|
+
module Requests
|
3
|
+
# Represents a request to access information about a
|
4
|
+
# specific order under a merchant.
|
5
|
+
class GetLocationCredit < Base
|
6
|
+
include Templates::UserAuthenticated
|
7
|
+
|
8
|
+
def response_from_hash(hash)
|
9
|
+
Responses::Success.new(hash['credit'])
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -37,9 +37,9 @@ describe 'Levelup::Responses::Error' do
|
|
37
37
|
it 'has two full errors' do
|
38
38
|
expect(@nonempty_response).to have(2).errors
|
39
39
|
@nonempty_response.errors.each do |error|
|
40
|
-
expect(error
|
41
|
-
expect(error
|
42
|
-
expect(error
|
40
|
+
expect(error.property).to_not be_nil
|
41
|
+
expect(error.object).to_not be_nil
|
42
|
+
expect(error.message).to_not be_nil
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Levelup::Endpoints::LocationCredit', vcr: true do
|
4
|
+
describe '#get' do
|
5
|
+
context 'with a valid user token' do
|
6
|
+
it 'returns a credit value at a location' do
|
7
|
+
response = @test_client.locations(TestConfig.location_id).credit.
|
8
|
+
get(TestConfig.user_token_with_manage_campaigns_perms)
|
9
|
+
expect(response).to be_success
|
10
|
+
expect(response.total_amount).to_not be_nil
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'with an invalid user token' do
|
15
|
+
it 'returns an error response' do
|
16
|
+
response = @test_client.locations(TestConfig.location_id).credit.
|
17
|
+
get('1234')
|
18
|
+
expect(response).to_not be_success
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -13,4 +13,5 @@ user_token_with_manage_addresses_perms: token (can be same as other user token)
|
|
13
13
|
user_token_with_read_info_perms: token (can be same as other user token)
|
14
14
|
user_token_with_read_orders_perms: token (can be same as other user token)
|
15
15
|
user_token_with_read_qr_perms: token (can be same as other user token)
|
16
|
+
user_token_with_manage_campaigns_perms: token (can be same as other user token)
|
16
17
|
user_email: user@email.tld
|
data/spec/spec_helper.rb
CHANGED
@@ -5,7 +5,7 @@ require 'support/vcr_filter_sensitive_data'
|
|
5
5
|
$LOAD_PATH << File.expand_path('../lib', __FILE__)
|
6
6
|
require 'levelup'
|
7
7
|
|
8
|
-
Levelup::Configuration.base_api_url = 'https://
|
8
|
+
Levelup::Configuration.base_api_url = 'https://sandbox.thelevelup.com/'
|
9
9
|
|
10
10
|
class TestConfig < Settingslogic
|
11
11
|
source 'spec/fixtures/keys.yml'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: levelup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LevelUp POS Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -163,6 +163,7 @@ files:
|
|
163
163
|
- lib/levelup/endpoints/apps.rb
|
164
164
|
- lib/levelup/endpoints/base.rb
|
165
165
|
- lib/levelup/endpoints/credit_cards.rb
|
166
|
+
- lib/levelup/endpoints/location_credit.rb
|
166
167
|
- lib/levelup/endpoints/location_orders.rb
|
167
168
|
- lib/levelup/endpoints/merchant_funded_credits.rb
|
168
169
|
- lib/levelup/endpoints/merchant_locations.rb
|
@@ -187,6 +188,7 @@ files:
|
|
187
188
|
- lib/levelup/requests/create_card.rb
|
188
189
|
- lib/levelup/requests/create_order.rb
|
189
190
|
- lib/levelup/requests/create_user.rb
|
191
|
+
- lib/levelup/requests/get_location_credit.rb
|
190
192
|
- lib/levelup/requests/get_order.rb
|
191
193
|
- lib/levelup/requests/get_qr_code.rb
|
192
194
|
- lib/levelup/requests/get_user.rb
|
@@ -222,6 +224,7 @@ files:
|
|
222
224
|
- spec/endpoints/access_tokens_spec.rb
|
223
225
|
- spec/endpoints/app_locations_spec.rb
|
224
226
|
- spec/endpoints/app_users_spec.rb
|
227
|
+
- spec/endpoints/location_credit_spec.rb
|
225
228
|
- spec/endpoints/location_orders_spec.rb
|
226
229
|
- spec/endpoints/merchant_funded_credits_spec.rb
|
227
230
|
- spec/endpoints/merchant_locations_spec.rb
|
@@ -247,7 +250,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
247
250
|
requirements:
|
248
251
|
- - ">="
|
249
252
|
- !ruby/object:Gem::Version
|
250
|
-
version:
|
253
|
+
version: 1.9.3
|
251
254
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
252
255
|
requirements:
|
253
256
|
- - ">="
|
@@ -274,6 +277,7 @@ test_files:
|
|
274
277
|
- spec/endpoints/access_tokens_spec.rb
|
275
278
|
- spec/endpoints/app_locations_spec.rb
|
276
279
|
- spec/endpoints/app_users_spec.rb
|
280
|
+
- spec/endpoints/location_credit_spec.rb
|
277
281
|
- spec/endpoints/location_orders_spec.rb
|
278
282
|
- spec/endpoints/merchant_funded_credits_spec.rb
|
279
283
|
- spec/endpoints/merchant_locations_spec.rb
|