cashstar 0.1.2 → 0.1.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/README.md +5 -0
- data/lib/cashstar/client.rb +1 -3
- data/lib/cashstar/client/gift_card.rb +6 -2
- data/lib/cashstar/client/order.rb +4 -0
- data/lib/cashstar/configuration.rb +11 -0
- data/lib/cashstar/connection.rb +4 -0
- data/lib/cashstar/version.rb +1 -1
- data/lib/faraday/response/strip_card_numbers.rb +12 -0
- metadata +13 -12
data/README.md
CHANGED
@@ -22,6 +22,11 @@ A Ruby wrapper for the CashStar REST API
|
|
22
22
|
config.endpoint = 'production or semi-production url'
|
23
23
|
config.format = 'json' #or 'xml'
|
24
24
|
end
|
25
|
+
|
26
|
+
# Gift Card numbers are not returned by default - only urls to the hosted Gift Card and the associated challenge phrase
|
27
|
+
# If you need the gift card number and pin, include the following in your config block:
|
28
|
+
|
29
|
+
config.return_card_numbers = true
|
25
30
|
|
26
31
|
# Get all merchants enabled for this account
|
27
32
|
puts Cashstar.merchants
|
data/lib/cashstar/client.rb
CHANGED
@@ -2,6 +2,12 @@ require 'hashie'
|
|
2
2
|
|
3
3
|
module Cashstar
|
4
4
|
class Client
|
5
|
+
module GiftCardMethods
|
6
|
+
def balance_inquiry
|
7
|
+
true
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
5
11
|
# Defines methods related to a Cashstar Order
|
6
12
|
class GiftCard < Hashie::Dash
|
7
13
|
property :merchant_code, :required => true
|
@@ -11,8 +17,6 @@ module Cashstar
|
|
11
17
|
property :challenge_description
|
12
18
|
property :delivery
|
13
19
|
property :message
|
14
|
-
|
15
|
-
|
16
20
|
end
|
17
21
|
|
18
22
|
class Delivery < Hashie::Dash
|
@@ -8,6 +8,7 @@ module Cashstar
|
|
8
8
|
:username,
|
9
9
|
:password,
|
10
10
|
:endpoint,
|
11
|
+
:return_card_numbers,
|
11
12
|
:format,
|
12
13
|
:user_agent,
|
13
14
|
:adapter,
|
@@ -26,6 +27,10 @@ module Cashstar
|
|
26
27
|
#
|
27
28
|
# @note This is configurable in case you want to connect to CashStar's test environment at https://api-semiprod.cashstar.com
|
28
29
|
DEFAULT_ENDPOINT = 'https://api-semiprod.cashstar.com'.freeze
|
30
|
+
|
31
|
+
# By default, we do not pass card numbers and pins back, only url's and challenge codes. This helps default to the most
|
32
|
+
# secure mode of usage.
|
33
|
+
DEFAULT_RETURN_CARD_NUMBERS = false
|
29
34
|
|
30
35
|
# The response format appended to the path and sent in the 'Accept' header if none is set
|
31
36
|
#
|
@@ -49,6 +54,11 @@ module Cashstar
|
|
49
54
|
def configure
|
50
55
|
yield self
|
51
56
|
end
|
57
|
+
|
58
|
+
# Convienince method determining if pointed to the test env.
|
59
|
+
def test?
|
60
|
+
self.endpoint == DEFAULT_ENDPOINT
|
61
|
+
end
|
52
62
|
|
53
63
|
# Create a hash of options and their values
|
54
64
|
def options
|
@@ -66,6 +76,7 @@ module Cashstar
|
|
66
76
|
self.format = DEFAULT_FORMAT
|
67
77
|
self.user_agent = DEFAULT_USER_AGENT
|
68
78
|
self.faraday_options = DEFAULT_FARADAY_OPTIONS
|
79
|
+
self.return_card_numbers = DEFAULT_RETURN_CARD_NUMBERS
|
69
80
|
self
|
70
81
|
end
|
71
82
|
end
|
data/lib/cashstar/connection.rb
CHANGED
@@ -3,6 +3,7 @@ require 'faraday/request/gateway'
|
|
3
3
|
require 'faraday/request/basic_auth'
|
4
4
|
require 'faraday/response/raise_http_4xx'
|
5
5
|
require 'faraday/response/raise_http_5xx'
|
6
|
+
require 'faraday/response/strip_card_numbers'
|
6
7
|
|
7
8
|
module Cashstar
|
8
9
|
# @private
|
@@ -24,6 +25,9 @@ module Cashstar
|
|
24
25
|
builder.use Faraday::Request::BasicAuth, authentication if authenticated?
|
25
26
|
builder.use Faraday::Request::UrlEncoded
|
26
27
|
builder.use Faraday::Response::RaiseHttp4xx
|
28
|
+
unless return_card_numbers
|
29
|
+
builder.use Faraday::Response::StripCardNumbers
|
30
|
+
end
|
27
31
|
unless options[:raw]
|
28
32
|
case options.fetch(:format, format).to_s.downcase
|
29
33
|
when 'json'
|
data/lib/cashstar/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cashstar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-17 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: hashie
|
16
|
-
requirement: &
|
16
|
+
requirement: &70195147334480 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70195147334480
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: faraday
|
27
|
-
requirement: &
|
27
|
+
requirement: &70195147331900 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.7.4
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70195147331900
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: faraday_middleware
|
38
|
-
requirement: &
|
38
|
+
requirement: &70195147328580 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.7.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70195147328580
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: multi_json
|
49
|
-
requirement: &
|
49
|
+
requirement: &70195147327440 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.0.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70195147327440
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: multi_xml
|
60
|
-
requirement: &
|
60
|
+
requirement: &70195147326540 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: 0.4.0
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70195147326540
|
69
69
|
description: CashStar's API provides a simple interface for purchasing and issuing
|
70
70
|
electronic gift cards from a variety of brands
|
71
71
|
email:
|
@@ -100,6 +100,7 @@ files:
|
|
100
100
|
- lib/faraday/request/gateway.rb
|
101
101
|
- lib/faraday/response/raise_http_4xx.rb
|
102
102
|
- lib/faraday/response/raise_http_5xx.rb
|
103
|
+
- lib/faraday/response/strip_card_numbers.rb
|
103
104
|
homepage: http://www.cashstar.com
|
104
105
|
licenses: []
|
105
106
|
post_install_message:
|