balanced 0.3.2 → 0.3.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/.travis.yml +3 -0
- data/CONTRIBUTORS +1 -0
- data/README.md +11 -5
- data/balanced.gemspec +2 -0
- data/lib/balanced/resources/account.rb +21 -1
- data/lib/balanced/resources/bank_account.rb +2 -2
- data/lib/balanced/resources/card.rb +1 -1
- data/lib/balanced/resources/credit.rb +2 -2
- data/lib/balanced/resources/debit.rb +1 -1
- data/lib/balanced/resources/refund.rb +1 -1
- data/lib/balanced/resources/resource.rb +12 -6
- data/lib/balanced/version.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- data/upload_docs.rb +39 -0
- metadata +36 -2
data/.travis.yml
ADDED
data/CONTRIBUTORS
CHANGED
data/README.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
Online Marketplace Payments
|
4
4
|
|
5
|
+
[](http://travis-ci.org/balanced/balanced-ruby)
|
6
|
+
|
5
7
|
## Installation
|
6
8
|
|
7
9
|
Add this line to your application's Gemfile:
|
@@ -25,9 +27,11 @@ See https://www.balancedpayments.com/docs/ruby for tutorials and documentation.
|
|
25
27
|
|
26
28
|
1. Fork it
|
27
29
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
28
|
-
3.
|
29
|
-
4.
|
30
|
-
5.
|
30
|
+
3. Write your code **and unit tests**
|
31
|
+
4. Ensure all tests still pass (`bundle exec rspec`)
|
32
|
+
5. Commit your changes (`git commit -am 'Add some feature'`)
|
33
|
+
6. Push to the branch (`git push origin my-new-feature`)
|
34
|
+
7. Create new pull request
|
31
35
|
|
32
36
|
|
33
37
|
### Specs
|
@@ -54,5 +58,7 @@ spec/cassettes. To clear them and regenerate:
|
|
54
58
|
### Building Documentation
|
55
59
|
|
56
60
|
Documentation is build using YARD - http://rubydoc.info/docs/yard
|
57
|
-
|
58
|
-
|
61
|
+
|
62
|
+
export AMAZON_ACCESS_KEY_ID='xxx'
|
63
|
+
export AMAZON_SECRET_ACCESS_KEY='yyy'
|
64
|
+
./upload_docs.rb
|
data/balanced.gemspec
CHANGED
@@ -18,6 +18,8 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.add_development_dependency("vcr", '~> 2.2.0')
|
19
19
|
gem.add_development_dependency("guard", '~> 1.1.1')
|
20
20
|
gem.add_development_dependency("guard-rspec", '~> 1.0.0')
|
21
|
+
gem.add_development_dependency("yard")
|
22
|
+
gem.add_development_dependency("ruby-debug19")
|
21
23
|
|
22
24
|
gem.files = `git ls-files`.split($\)
|
23
25
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
@@ -7,6 +7,18 @@ module Balanced
|
|
7
7
|
class Account
|
8
8
|
include Balanced::Resource
|
9
9
|
|
10
|
+
class MoreInformationRequiredError < StandardError
|
11
|
+
attr_reader :response
|
12
|
+
|
13
|
+
def initialize(response)
|
14
|
+
@response = response
|
15
|
+
end
|
16
|
+
|
17
|
+
def redirect_uri
|
18
|
+
response.headers['Location']
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
10
22
|
def initialize attributes = {}
|
11
23
|
Balanced::Utils.stringify_keys! attributes
|
12
24
|
unless attributes.has_key? 'uri'
|
@@ -15,8 +27,16 @@ module Balanced
|
|
15
27
|
super attributes
|
16
28
|
end
|
17
29
|
|
30
|
+
def save
|
31
|
+
the_response = super
|
32
|
+
if response.status == 300
|
33
|
+
raise MoreInformationRequiredError, response
|
34
|
+
end
|
35
|
+
the_response
|
36
|
+
end
|
37
|
+
|
18
38
|
# Returns a new Debit that represents a flow of money from this
|
19
|
-
# Account to your Marketplace.
|
39
|
+
# Account to your Marketplace's escrow account.
|
20
40
|
#
|
21
41
|
# @return [Debit]
|
22
42
|
def debit (amount=nil,
|
@@ -15,7 +15,7 @@ module Balanced
|
|
15
15
|
super attributes
|
16
16
|
end
|
17
17
|
|
18
|
-
# Creates a Debit of funds from this BankAccount to your Marketplace.
|
18
|
+
# Creates a Debit of funds from this BankAccount to your Marketplace's escrow account.
|
19
19
|
#
|
20
20
|
# @param [String] appears_on_statement_as If nil then Balanced will use
|
21
21
|
# the +domain_name+ property from your Marketplace.
|
@@ -24,7 +24,7 @@ module Balanced
|
|
24
24
|
self.account.debit(amount, appears_on_statement_as, meta, description, self.uri)
|
25
25
|
end
|
26
26
|
|
27
|
-
# Creates a Credit of funds from your Marketplace to this Account.
|
27
|
+
# Creates a Credit of funds from your Marketplace's escrow account to this Account.
|
28
28
|
#
|
29
29
|
# @return [Credit]
|
30
30
|
def credit amount, description=nil, meta={}
|
@@ -13,7 +13,7 @@ module Balanced
|
|
13
13
|
super attributes
|
14
14
|
end
|
15
15
|
|
16
|
-
# Creates a Debit of funds from this Card to your Marketplace.
|
16
|
+
# Creates a Debit of funds from this Card to your Marketplace's escrow account.
|
17
17
|
#
|
18
18
|
# If +appears_on_statement_as+ is nil, then Balanced will use the
|
19
19
|
# +domain_name+ property from your Marketplace.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Balanced
|
2
|
-
# A Credit represents a transfer of funds from your Marketplace
|
3
|
-
# Merchant's Account within your Marketplace.
|
2
|
+
# A Credit represents a transfer of funds from your Marketplace's
|
3
|
+
# escrow account to a Merchant's Account within your Marketplace.
|
4
4
|
#
|
5
5
|
# By default, a Credit is sent to the most recently added funding
|
6
6
|
# destination associated with an Account. You may specify a specific
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Balanced
|
2
2
|
# A Debit represents a transfer of funds from a buyer's Account to your
|
3
|
-
# Marketplace.
|
3
|
+
# Marketplace's escrow account.
|
4
4
|
#
|
5
5
|
# A Debit may be created directly, or it will be created as a side-effect
|
6
6
|
# of capturing a Hold. If you create a Debit directly it will implicitly
|
@@ -2,7 +2,7 @@ module Balanced
|
|
2
2
|
# A Refund represents a reversal of funds from a Debit. A Debit can have
|
3
3
|
# many Refunds associated with it up to the total amount of the original
|
4
4
|
# Debit. Funds are returned to your Marketplace's Merchant Account
|
5
|
-
# proportional to the
|
5
|
+
# proportional to the amount of the Refund.
|
6
6
|
#
|
7
7
|
class Refund
|
8
8
|
include Balanced::Resource
|
@@ -20,18 +20,23 @@ module Balanced
|
|
20
20
|
elsif !Balanced.is_collection(uri)
|
21
21
|
method = :put
|
22
22
|
end
|
23
|
-
response = Balanced.send(method, uri, self.attributes)
|
24
|
-
reload response
|
23
|
+
@response = Balanced.send(method, uri, self.attributes)
|
24
|
+
reload @response
|
25
25
|
end
|
26
26
|
|
27
|
+
def response
|
28
|
+
@response
|
29
|
+
end
|
30
|
+
private :response
|
31
|
+
|
27
32
|
def destroy
|
28
33
|
Balanced.delete @attributes[:uri]
|
29
34
|
end
|
30
35
|
|
31
|
-
def reload
|
32
|
-
if
|
33
|
-
return if
|
34
|
-
fresh = self.class.construct_from_response
|
36
|
+
def reload the_response = nil
|
37
|
+
if the_response
|
38
|
+
return if the_response.body.to_s.length.zero?
|
39
|
+
fresh = self.class.construct_from_response the_response.body
|
35
40
|
else
|
36
41
|
fresh = self.find(@attributes[:uri])
|
37
42
|
end
|
@@ -77,6 +82,7 @@ module Balanced
|
|
77
82
|
|
78
83
|
def construct_from_response payload
|
79
84
|
payload = Balanced::Utils.hash_with_indifferent_read_access payload
|
85
|
+
return payload if payload[:uri].nil?
|
80
86
|
klass = Balanced.from_uri(payload[:uri])
|
81
87
|
instance = klass.new payload
|
82
88
|
payload.each do |name, value|
|
data/lib/balanced/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
data/upload_docs.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'aws/s3'
|
4
|
+
require 'yard'
|
5
|
+
|
6
|
+
# cheap
|
7
|
+
args = [
|
8
|
+
'doc',
|
9
|
+
'-e',
|
10
|
+
'doc/balanced_plugin.rb',
|
11
|
+
'-p',
|
12
|
+
'doc/balanced_templates/',
|
13
|
+
'--one-file',
|
14
|
+
'--query',
|
15
|
+
"object.to_s != 'Balanced::Account::MoreInformationRequiredError'",
|
16
|
+
'lib/balanced/resources/account.rb',
|
17
|
+
'lib/balanced/resources/api_key.rb',
|
18
|
+
'lib/balanced/resources/bank_account.rb',
|
19
|
+
'lib/balanced/resources/card.rb',
|
20
|
+
'lib/balanced/resources/credit.rb',
|
21
|
+
'lib/balanced/resources/debit.rb',
|
22
|
+
'lib/balanced/resources/hold.rb',
|
23
|
+
'lib/balanced/resources/marketplace.rb',
|
24
|
+
'lib/balanced/resources/merchant.rb',
|
25
|
+
'lib/balanced/resources/transaction.rb'
|
26
|
+
]
|
27
|
+
|
28
|
+
YARD::CLI::CommandParser.run(*args)
|
29
|
+
|
30
|
+
AWS::S3::Base.establish_connection!(
|
31
|
+
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
|
32
|
+
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
|
33
|
+
)
|
34
|
+
|
35
|
+
puts AWS::S3::S3Object.store('docs/ruby_api_reference.html',
|
36
|
+
open('doc/index.html'),
|
37
|
+
'justice.web',
|
38
|
+
:access => :public_read
|
39
|
+
)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: balanced
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -107,6 +107,38 @@ dependencies:
|
|
107
107
|
- - ~>
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: 1.0.0
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: yard
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: ruby-debug19
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
110
142
|
description: ! "Balanced is the payments platform for marketplaces.\n Integrate
|
111
143
|
a payments experience just like Amazon for your marketplace.\n Forget about dealing
|
112
144
|
with banking systems, compliance, fraud, and security.\n "
|
@@ -119,6 +151,7 @@ files:
|
|
119
151
|
- .gitignore
|
120
152
|
- .rbenv-version
|
121
153
|
- .rspec
|
154
|
+
- .travis.yml
|
122
155
|
- CONTRIBUTORS
|
123
156
|
- Gemfile
|
124
157
|
- Guardfile
|
@@ -162,6 +195,7 @@ files:
|
|
162
195
|
- spec/client_spec.rb
|
163
196
|
- spec/spec_helper.rb
|
164
197
|
- spec/utils_spec.rb
|
198
|
+
- upload_docs.rb
|
165
199
|
homepage: https://balancedpayments.com
|
166
200
|
licenses: []
|
167
201
|
post_install_message:
|