pin_up 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +14 -6
- data/README.md +114 -6
- data/Rakefile +0 -2
- data/VERSION +1 -1
- data/lib/pin_up/base.rb +25 -2
- data/lib/pin_up/card.rb +10 -0
- data/lib/pin_up/charge.rb +19 -0
- data/lib/pin_up/customer.rb +27 -0
- data/lib/pin_up/refund.rb +13 -0
- data/pin_up.gemspec +3 -9
- data/spec/base_spec.rb +4 -4
- data/spec/cards_spec.rb +1 -1
- data/spec/charges_spec.rb +1 -1
- data/spec/customers_spec.rb +1 -1
- data/spec/refund_spec.rb +1 -1
- metadata +19 -47
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
MzFmZTFlNTIxOWExMjAyNjFlN2RhZmFjMDU1ZTFjYjQzMmU4YTgyMQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OTYzYTQwYzZhZWE5MDljNTg4OGU0ZDljOTVkZWZlOWUyYjUxMzcyNA==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
OWYwMTZjNmRjNjhlYjA4NTY2ZTY5MTkzMDNjYzlhNjk3ZWNlM2Q3MzZlMzFh
|
10
|
+
NWJkZmQxYTkyMmZiYzkzNzM1YzhhNzk4NTBhOWY3NTQzYWMyYmY3MWMxNzA4
|
11
|
+
ZDhlZmIwMzU2ZTVkYWI2ZDRmZDM3MzNhM2E0MGU3MWI5MjIzMWI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NzYyNzk2YjIxMjMwODFhMDM4NTczOGU5NDFjYzYzM2NiZjVkZjg5OTU5ZDAz
|
14
|
+
MjE5YzkyMmMxZDkwMjZiMzY5MzI3NDMxMjc3NzY1ODJjNzAyYmVmZjEwMjRl
|
15
|
+
Yzc0ZDgxMTZhNTAxYTViMDhlYzMzYzExMWM2ZTVlMzYwNGI2ZjI=
|
data/README.md
CHANGED
@@ -1,8 +1,117 @@
|
|
1
|
-
|
1
|
+
## pin_up
|
2
2
|
|
3
|
-
|
3
|
+
A Ruby gem wrapper for the pin-payments (pin.net.au) API, all of it.
|
4
4
|
|
5
|
-
|
5
|
+
Support for Ruby 1.9.x & Ruby 2.0.0
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
gem install pin_up
|
10
|
+
|
11
|
+
or add:
|
12
|
+
|
13
|
+
gem 'pin_up'
|
14
|
+
|
15
|
+
to your Gemfile.
|
16
|
+
|
17
|
+
## Usage
|
18
|
+
|
19
|
+
If using rails add an initializer to your app:
|
20
|
+
|
21
|
+
Pin::Base.new("your key")
|
22
|
+
|
23
|
+
An option second paramater can be passed in to set the environment (:live or :test). The default is :live.
|
24
|
+
|
25
|
+
### Charges
|
26
|
+
##### List All Charges
|
27
|
+
Pin::Charges.all
|
28
|
+
##### Find A Charge
|
29
|
+
Pin::Charges.find("token")
|
30
|
+
##### Search For A Charge
|
31
|
+
Pin::Charges.search({query: "foo", end_date: "Mar 25, 2013"})
|
32
|
+
|
33
|
+
See https://pin.net.au/docs/api/charges#search-charges for a full list of options.
|
34
|
+
|
35
|
+
##### Create A Charge
|
36
|
+
charge = {email: "email@example.com", description: "Description", amount: "400", currency: "AUD", ip_address: "127.0.0.1", customer_token: "cus_token" }
|
37
|
+
|
38
|
+
Pin::Charges.create(charge)
|
39
|
+
|
40
|
+
### Customers
|
41
|
+
##### List All Customers
|
42
|
+
Pin::Customer.all
|
43
|
+
##### Find A Customer
|
44
|
+
Pin::Customer.find('token')
|
45
|
+
##### List Charges For A Customer
|
46
|
+
Pin::Customer.charges('cus_token')
|
47
|
+
##### Create A Customer
|
48
|
+
Pin::Customer.create(email, hash_of_customer_details)
|
49
|
+
|
50
|
+
customer_details = {number: '5520000000000000', expiry_month: "12", expiry_year: "2014", cvc: "123", name: 'Roland Robot', address_line1: '123 fake street', address_city: 'Melbourne', address_postcode: '1234', address_state: 'Vic', address_country: 'Australia'}
|
51
|
+
|
52
|
+
Pin::Customer.create('email@example.com', customer_details)
|
53
|
+
|
54
|
+
##### Update A Customer
|
55
|
+
###### Update Card details
|
56
|
+
---
|
57
|
+
Pin::Customer.update('cus_token', hash_of_details)
|
58
|
+
|
59
|
+
If passing a hash of details, it must be the full list of details of the credit card to be stored. (https://pin.net.au/docs/api/customers#put-customer)
|
60
|
+
|
61
|
+
###### Update only an email
|
62
|
+
---
|
63
|
+
|
64
|
+
hash_of_details = {email: 'new_email@example.com'}
|
65
|
+
Pin::Customer.update('cus_token', hash_of_details)
|
66
|
+
|
67
|
+
###### Update card by token
|
68
|
+
---
|
69
|
+
|
70
|
+
hash_of_details = {card_token: 'new_card_token'}
|
71
|
+
Pin::Customer.update('cus_token', hash_of_details)
|
72
|
+
|
73
|
+
##### Creat A Customer Given a Card Token and Email
|
74
|
+
|
75
|
+
card_details = {number: "5520000000000000", expiry_month: "12", expiry_year: "2018", cvc: "123", name: "Roland TestRobot", address_line1: "123 Fake Road", address_line2: "", address_city: "Melbourne", address_postcode: "1223", address_state: "Vic", address_country: "AU"}
|
76
|
+
|
77
|
+
card = Pin::Card.create(card_details)
|
78
|
+
Pin::Customer.create('email@example.com',card['token'])
|
79
|
+
|
80
|
+
## Refunds
|
81
|
+
|
82
|
+
##### Find A Refund
|
83
|
+
|
84
|
+
Pin::Refund.find('charge_token')
|
85
|
+
|
86
|
+
This will list all refunds for a particular charge (will return an empty hash if nothing is found)
|
87
|
+
|
88
|
+
##### Create A Refund Specifying An Amount
|
89
|
+
|
90
|
+
Pin::Refund.create('charge_token', '400')
|
91
|
+
|
92
|
+
##### Create A Refund For Entire Charge Amount
|
93
|
+
|
94
|
+
Pin::Refund.create('charge_token')
|
95
|
+
|
96
|
+
## Cards
|
97
|
+
|
98
|
+
##### Create A Card Without Pins Form
|
99
|
+
|
100
|
+
card_details = {number: "5520000000000000", expiry_month: "12", expiry_year: "2018", cvc: "123", name: "Roland Robot", address_line1: "123 Fake Road", address_line2: "", address_city: "Melbourne", address_postcode: "1223", address_state: "Vic", address_country: "AU"}
|
101
|
+
|
102
|
+
Pin::Card.create(card_details)
|
103
|
+
|
104
|
+
Will return a card_token that can be stored against a customer.
|
105
|
+
|
106
|
+
Only use this method if you're comfortable sending card details to your server - otherwise you can use a form that Pin provides (https://pin.net.au/docs/guides/payment-forms) and get the card_token that way.
|
107
|
+
|
108
|
+
## Todo
|
109
|
+
|
110
|
+
* Validate a response before it gets sent to Pin (eg. Update customer)
|
111
|
+
* Pagination
|
112
|
+
# Better error handling (for 4** responses)
|
113
|
+
|
114
|
+
## Contributing to pin_up
|
6
115
|
|
7
116
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
|
8
117
|
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
|
@@ -12,8 +121,7 @@ Description goes here.
|
|
12
121
|
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
13
122
|
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
14
123
|
|
15
|
-
|
124
|
+
## Copyright
|
16
125
|
|
17
126
|
Copyright (c) 2013 Daniel Nitsikopoulos. See LICENSE.txt for
|
18
|
-
further details.
|
19
|
-
|
127
|
+
further details.
|
data/Rakefile
CHANGED
@@ -23,8 +23,6 @@ Jeweler::Tasks.new do |gem|
|
|
23
23
|
gem.authors = ["Daniel Nitsikopoulos"]
|
24
24
|
# dependencies defined in Gemfile
|
25
25
|
gem.add_dependency "httparty"
|
26
|
-
gem.add_development_dependency "webmock"
|
27
|
-
gem.add_development_dependency "vcr"
|
28
26
|
end
|
29
27
|
Jeweler::RubygemsDotOrgTasks.new
|
30
28
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/pin_up/base.rb
CHANGED
@@ -1,8 +1,16 @@
|
|
1
1
|
module Pin
|
2
|
+
##
|
3
|
+
# This class sets up a few things like the base URL and provides a few utility methods to be shared between classes.
|
2
4
|
class Base
|
3
5
|
include HTTParty
|
4
6
|
|
5
|
-
|
7
|
+
##
|
8
|
+
# Create a new Pin instance
|
9
|
+
# Args:
|
10
|
+
# key: Your Pin secret key
|
11
|
+
# env: The environment you want to use. Leave blank for live and pass in :test for test
|
12
|
+
# An error is raised if an invalid env is passed in.
|
13
|
+
def initialize(key = "", env = :live)
|
6
14
|
@key = key
|
7
15
|
env = env.to_sym
|
8
16
|
@@auth = {username: key, password: ''}
|
@@ -15,32 +23,47 @@ module Pin
|
|
15
23
|
end
|
16
24
|
end
|
17
25
|
|
26
|
+
##
|
27
|
+
# Provides access to your key if needed
|
18
28
|
def key
|
19
29
|
@key
|
20
30
|
end
|
21
31
|
|
32
|
+
##
|
33
|
+
# Provides access to the base URL if needed
|
22
34
|
def uri
|
23
35
|
@@base_url
|
24
36
|
end
|
25
37
|
|
26
38
|
protected
|
27
39
|
|
28
|
-
|
40
|
+
##
|
41
|
+
# Sends an authorised GET request to pins server
|
42
|
+
# args: url (eg: 'charges' or 'charges/token')
|
43
|
+
def self.auth_get(url, token = nil)
|
29
44
|
HTTParty.get("#{@@base_url}#{url}", basic_auth: @@auth)
|
30
45
|
end
|
31
46
|
|
47
|
+
##
|
48
|
+
# Sends an authorised POST request to pins server
|
32
49
|
def self.auth_post(url, options = {})
|
33
50
|
HTTParty.post("#{@@base_url}#{url}", body: options, basic_auth: @@auth)
|
34
51
|
end
|
35
52
|
|
53
|
+
##
|
54
|
+
# Sends an authorised PUT request to pins server
|
36
55
|
def self.auth_put(url, options = {})
|
37
56
|
HTTParty.put("#{@@base_url}#{url}", body: options, basic_auth: @@auth)
|
38
57
|
end
|
39
58
|
|
59
|
+
##
|
60
|
+
# Builds a response of a single object
|
40
61
|
def self.build_response(response)
|
41
62
|
response.parsed_response['response']
|
42
63
|
end
|
43
64
|
|
65
|
+
##
|
66
|
+
# Builds a response of a collection if the response code is 200 otherwise an empty array is returned
|
44
67
|
def self.build_collection_response(response)
|
45
68
|
models = []
|
46
69
|
if response.code == 200
|
data/lib/pin_up/card.rb
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
module Pin
|
2
|
+
##
|
3
|
+
# This class models Pin's Cards API
|
2
4
|
class Card < Base
|
3
5
|
|
6
|
+
##
|
7
|
+
# creates a card given a hash of options
|
8
|
+
# https://pin.net.au/docs/api/cards
|
9
|
+
# Only use if you have a secure server connection, if in doubt use
|
10
|
+
# the form example provided by Pin to create a card_token
|
11
|
+
# https://pin.net.au/docs/guides/payment-forms
|
12
|
+
# args: card_details (Hash)
|
13
|
+
# returns: card object
|
4
14
|
def self.create(options)
|
5
15
|
build_response(auth_post('cards', options))
|
6
16
|
end
|
data/lib/pin_up/charge.rb
CHANGED
@@ -1,13 +1,28 @@
|
|
1
1
|
module Pin
|
2
|
+
##
|
3
|
+
# This class models Pin's Charges API
|
2
4
|
class Charges < Base
|
5
|
+
##
|
6
|
+
# Lists all of the charges for your account
|
7
|
+
# returns: a collection of charge objects
|
8
|
+
# https://pin.net.au/docs/api/charges#get-charges
|
3
9
|
def self.all
|
4
10
|
build_response(auth_get('charges'))
|
5
11
|
end
|
6
12
|
|
13
|
+
##
|
14
|
+
# Find a charge for your account given a token
|
15
|
+
# args: token (String)
|
16
|
+
# returns: a charge object
|
17
|
+
# https://pin.net.au/docs/api/charges#get-charge
|
7
18
|
def self.find(token)
|
8
19
|
build_response(auth_get("charges/#{token}"))
|
9
20
|
end
|
10
21
|
|
22
|
+
# Find a charge(s) for your account given a search term or set of terms
|
23
|
+
# args: options (Hash)
|
24
|
+
# returns: a collection of charge objects
|
25
|
+
# https://pin.net.au/docs/api/charges#search-charges
|
11
26
|
def self.search(options = {})
|
12
27
|
term = ""
|
13
28
|
options.each do |key, option|
|
@@ -16,6 +31,10 @@ module Pin
|
|
16
31
|
build_response(auth_get("charges/search?#{term}"))
|
17
32
|
end
|
18
33
|
|
34
|
+
# Create a charge given charge details and a card, a card_token or acustomer_token
|
35
|
+
# args: options (Hash)
|
36
|
+
# returns: a charge object
|
37
|
+
# https://pin.net.au/docs/api/charges#post-charges
|
19
38
|
def self.create(options = {})
|
20
39
|
build_response(auth_post("charges", options))
|
21
40
|
end
|
data/lib/pin_up/customer.rb
CHANGED
@@ -1,10 +1,21 @@
|
|
1
1
|
module Pin
|
2
|
+
##
|
3
|
+
# This class models Pins Customers API
|
2
4
|
class Customer < Base
|
3
5
|
|
6
|
+
##
|
7
|
+
# Lists all customers for your account
|
8
|
+
# returns: a collection of customer objects
|
9
|
+
# https://pin.net.au/docs/api/customers#get-customers
|
4
10
|
def self.all
|
5
11
|
build_collection_response(auth_get('customers'))
|
6
12
|
end
|
7
13
|
|
14
|
+
##
|
15
|
+
# Create a customer given customer details and a card OR a card_token
|
16
|
+
# args: email(String), card (Hash)
|
17
|
+
# returns: a customer object
|
18
|
+
# https://pin.net.au/docs/api/customers#post-customers
|
8
19
|
def self.create(email, card)
|
9
20
|
options = if card.respond_to?(:to_hash)
|
10
21
|
{card: card.to_hash}
|
@@ -15,14 +26,30 @@ module Pin
|
|
15
26
|
build_response(auth_post('customers', options))
|
16
27
|
end
|
17
28
|
|
29
|
+
##
|
30
|
+
# Find a customer for your account given a token
|
31
|
+
# args: token (String)
|
32
|
+
# returns: a customer object
|
33
|
+
# https://pin.net.au/docs/api/customers#get-customers
|
18
34
|
def self.find(token)
|
19
35
|
build_response(auth_get("customers/#{token}"))
|
20
36
|
end
|
21
37
|
|
38
|
+
##
|
39
|
+
# Update a customer for your account given a token and any of: email, card (hash),card_token
|
40
|
+
# args: token (String), options (Hash)
|
41
|
+
# returns: a customer object
|
42
|
+
# https://pin.net.au/docs/api/customers#put-customer
|
43
|
+
# NB: When providing a card (hash), you need to specify the full list of details.
|
22
44
|
def self.update(token, options = {})
|
23
45
|
build_response(auth_put("customers/#{token}", options))
|
24
46
|
end
|
25
47
|
|
48
|
+
##
|
49
|
+
# Get a list of charges for a customer
|
50
|
+
# args: token (String)
|
51
|
+
# returns: a collection of charge objects
|
52
|
+
# https://pin.net.au/docs/api/customers#get-customers-charges
|
26
53
|
def self.charges(token)
|
27
54
|
build_collection_response(auth_get("customers/#{token}/charges"))
|
28
55
|
end
|
data/lib/pin_up/refund.rb
CHANGED
@@ -1,10 +1,23 @@
|
|
1
1
|
module Pin
|
2
|
+
##
|
3
|
+
# This class models Pin's Charges API
|
2
4
|
class Refund < Base
|
3
5
|
|
6
|
+
##
|
7
|
+
# Find a refund by charge token
|
8
|
+
# returns: a collection of refund objects
|
9
|
+
# args: token (String)
|
10
|
+
# https://pin.net.au/docs/api/refunds#get-refunds
|
4
11
|
def self.find(token)
|
5
12
|
build_collection_response(auth_get("charges/#{token}/refunds"))
|
6
13
|
end
|
7
14
|
|
15
|
+
##
|
16
|
+
# Create a refund for a charge
|
17
|
+
# args: token (String), amount (String - optional)
|
18
|
+
# returns: a refund object
|
19
|
+
# if no amount is passed in, the full amount of the charge will be refunded
|
20
|
+
# https://pin.net.au/docs/api/refunds#post-refunds
|
8
21
|
def self.create(token, amount = nil)
|
9
22
|
options = {amount: amount}
|
10
23
|
build_response(auth_post("charges/#{token}/refunds", options))
|
data/pin_up.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "pin_up"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Daniel Nitsikopoulos"]
|
12
|
-
s.date = "2013-07-
|
12
|
+
s.date = "2013-07-06"
|
13
13
|
s.description = "A Ruby gem wrapper for the pin-payments (pin.net.au) API"
|
14
14
|
s.email = "dnitza@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -61,7 +61,7 @@ Gem::Specification.new do |s|
|
|
61
61
|
s.homepage = "http://github.com/dNitza/pin_up"
|
62
62
|
s.licenses = ["MIT"]
|
63
63
|
s.require_paths = ["lib"]
|
64
|
-
s.rubygems_version = "2.0.
|
64
|
+
s.rubygems_version = "2.0.2"
|
65
65
|
s.summary = "A Ruby gem wrapper for the pin-payments (pin.net.au) API"
|
66
66
|
|
67
67
|
if s.respond_to? :specification_version then
|
@@ -77,8 +77,6 @@ Gem::Specification.new do |s|
|
|
77
77
|
s.add_development_dependency(%q<webmock>, [">= 0"])
|
78
78
|
s.add_development_dependency(%q<vcr>, [">= 0"])
|
79
79
|
s.add_runtime_dependency(%q<httparty>, [">= 0"])
|
80
|
-
s.add_development_dependency(%q<webmock>, [">= 0"])
|
81
|
-
s.add_development_dependency(%q<vcr>, [">= 0"])
|
82
80
|
else
|
83
81
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
84
82
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
@@ -89,8 +87,6 @@ Gem::Specification.new do |s|
|
|
89
87
|
s.add_dependency(%q<webmock>, [">= 0"])
|
90
88
|
s.add_dependency(%q<vcr>, [">= 0"])
|
91
89
|
s.add_dependency(%q<httparty>, [">= 0"])
|
92
|
-
s.add_dependency(%q<webmock>, [">= 0"])
|
93
|
-
s.add_dependency(%q<vcr>, [">= 0"])
|
94
90
|
end
|
95
91
|
else
|
96
92
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
@@ -102,8 +98,6 @@ Gem::Specification.new do |s|
|
|
102
98
|
s.add_dependency(%q<webmock>, [">= 0"])
|
103
99
|
s.add_dependency(%q<vcr>, [">= 0"])
|
104
100
|
s.add_dependency(%q<httparty>, [">= 0"])
|
105
|
-
s.add_dependency(%q<webmock>, [">= 0"])
|
106
|
-
s.add_dependency(%q<vcr>, [">= 0"])
|
107
101
|
end
|
108
102
|
end
|
109
103
|
|
data/spec/base_spec.rb
CHANGED
@@ -2,16 +2,16 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe "Base", :vcr, class: Pin::Base do
|
4
4
|
before(:each) do
|
5
|
-
@test_pin = Pin::Base.new(
|
5
|
+
@test_pin = Pin::Base.new("W_VrFld7oc9BnC4pOdQxmw", :test)
|
6
6
|
end
|
7
7
|
|
8
8
|
it "should set key correctly" do
|
9
|
-
@pin = Pin::Base.new(
|
9
|
+
@pin = Pin::Base.new("KEY", :live)
|
10
10
|
expect(@pin.key).to eq "KEY"
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should set environment to live if no env set" do
|
14
|
-
@pin = Pin::Base.new(
|
14
|
+
@pin = Pin::Base.new("KEY", :live)
|
15
15
|
expect(@pin.uri).to eq "https://api.pin.net.au/1/"
|
16
16
|
end
|
17
17
|
|
@@ -20,7 +20,7 @@ describe "Base", :vcr, class: Pin::Base do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
it "should raise an error if anything other than '' :live or :test is passed to a new instance" do
|
23
|
-
expect{Pin::Base.new(
|
23
|
+
expect{Pin::Base.new("KEY", :foo)}.to raise_error(RuntimeError, "'env' option must be :live or :test. Leave blank for live payments")
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should list succesfully connect to Pin" do
|
data/spec/cards_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe "Card", :vcr, class: Pin::Card do
|
4
4
|
before(:each) do
|
5
|
-
Pin::Base.new(
|
5
|
+
Pin::Base.new("W_VrFld7oc9BnC4pOdQxmw", :test)
|
6
6
|
end
|
7
7
|
|
8
8
|
it "should create a card and respond with the card detail from pin" do
|
data/spec/charges_spec.rb
CHANGED
data/spec/customers_spec.rb
CHANGED
data/spec/refund_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
|
4
4
|
describe "Refund", :vcr, class: Pin::Refund do
|
5
5
|
before(:each) do
|
6
|
-
Pin::Base.new(
|
6
|
+
Pin::Base.new("W_VrFld7oc9BnC4pOdQxmw", :test)
|
7
7
|
end
|
8
8
|
|
9
9
|
it "should list all refunds made to a charge given a token" do
|
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pin_up
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Nitsikopoulos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: shoulda
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - '>='
|
17
|
+
- - ! '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - '>='
|
24
|
+
- - ! '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -42,28 +42,28 @@ dependencies:
|
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - '>='
|
45
|
+
- - ! '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - '>='
|
52
|
+
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: httparty
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - '>='
|
59
|
+
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - '>='
|
66
|
+
- - ! '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
@@ -84,84 +84,56 @@ dependencies:
|
|
84
84
|
name: simplecov
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - '>='
|
87
|
+
- - ! '>='
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - '>='
|
94
|
+
- - ! '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: webmock
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - '>='
|
101
|
+
- - ! '>='
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - '>='
|
108
|
+
- - ! '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: vcr
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - '>='
|
115
|
+
- - ! '>='
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - '>='
|
122
|
+
- - ! '>='
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: httparty
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - '>='
|
129
|
+
- - ! '>='
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - '>='
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: webmock
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - '>='
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - '>='
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: vcr
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - '>='
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - '>='
|
136
|
+
- - ! '>='
|
165
137
|
- !ruby/object:Gem::Version
|
166
138
|
version: '0'
|
167
139
|
description: A Ruby gem wrapper for the pin-payments (pin.net.au) API
|
@@ -222,17 +194,17 @@ require_paths:
|
|
222
194
|
- lib
|
223
195
|
required_ruby_version: !ruby/object:Gem::Requirement
|
224
196
|
requirements:
|
225
|
-
- - '>='
|
197
|
+
- - ! '>='
|
226
198
|
- !ruby/object:Gem::Version
|
227
199
|
version: '0'
|
228
200
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
229
201
|
requirements:
|
230
|
-
- - '>='
|
202
|
+
- - ! '>='
|
231
203
|
- !ruby/object:Gem::Version
|
232
204
|
version: '0'
|
233
205
|
requirements: []
|
234
206
|
rubyforge_project:
|
235
|
-
rubygems_version: 2.0.
|
207
|
+
rubygems_version: 2.0.2
|
236
208
|
signing_key:
|
237
209
|
specification_version: 4
|
238
210
|
summary: A Ruby gem wrapper for the pin-payments (pin.net.au) API
|