square 0.0.1 → 0.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 51faae3f912bb913a6fe96bba108f96c8bd1c7a9
4
- data.tar.gz: a9965b78a6b816ba7c917c031708cae7ed167ca3
3
+ metadata.gz: 96deb675316127d8568b8c0788d070f74095a0d6
4
+ data.tar.gz: 39cfdba4095dae9efa6570390b41834838500332
5
5
  SHA512:
6
- metadata.gz: 29c980d752c6233bfdcf61944a0a9f1ef8067aae82bb32e4a96de13f5e6cf16eeec74ee7821c08e46ec416dbe9bb1280f7d1955effa3392d8fff86a37d334ec9
7
- data.tar.gz: 7bdf1820ef76298b907e3f41dd7daf52151915445dd2ece4a049d050c8eb9c49b94bc8b28e72b54e6384e80cf2731afd47a98ea1c8f6f6da2794a40543f4de83
6
+ metadata.gz: 1e3834e7da8769dce73df9146cab2622688680063a55b6950cee39ace4898b74a3bb60ea6dfcf6084538ff24dc4ee68a2af37b39ab9e9c17398b8a604a72de4a
7
+ data.tar.gz: db5dfacd28eff34a3010ba0468e3231888fd64cc197831acbef286442f0193084cf9fc09c36beed7fdde2f61a7fd2a9b34f2399e8caa5f2a690cb0172836f8f5
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -6,6 +6,12 @@ end
6
6
 
7
7
  require 'square/connect/error'
8
8
  require 'square/connect/node'
9
+ require 'square/connect/connections'
10
+
11
+ require 'square/connect/bank_account'
12
+ require 'square/connect/merchant'
13
+ require 'square/connect/payment'
14
+ require 'square/connect/settlement'
9
15
 
10
16
  require 'square/connect/device'
11
17
  require 'square/connect/itemization'
@@ -0,0 +1,23 @@
1
+ module Square
2
+ module Connect
3
+ class BankAccount < Node
4
+ attr_accessor :merchant, :bank_name, :name, :type, :routing_number, :account_number_suffix, :currency_code
5
+
6
+ def initialize(*args)
7
+ super do |attributes|
8
+ self.merchant = if attributes[:merchant_id]
9
+ Merchant.new attributes[:merchant_id]
10
+ else
11
+ Merchant.new :me
12
+ end
13
+ self.bank_name = attributes[:bank_name]
14
+ self.name = attributes[:name]
15
+ self.type = attributes[:type]
16
+ self.routing_number = attributes[:routing_number]
17
+ self.account_number_suffix = attributes[:account_number_suffix]
18
+ self.currency_code = attributes[:currency_code]
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -2,10 +2,10 @@ module Square
2
2
  module Connect
3
3
  module Connections
4
4
  module Payments
5
- def payments
5
+ def payments(params = nil)
6
6
  access_token_required!
7
7
  payments = handle_response do
8
- access_token.get endpoint_for(identifier, :payments)
8
+ access_token.get endpoint_for(identifier, :payments), params
9
9
  end
10
10
  payments.collect do |payment|
11
11
  Payment.new payment.merge(
@@ -2,6 +2,17 @@ module Square
2
2
  module Connect
3
3
  module Connections
4
4
  module Refunds
5
+ def refunds(params = nil)
6
+ access_token_required!
7
+ refunds = handle_response do
8
+ access_token.get endpoint_for(identifier, :refunds), params
9
+ end
10
+ refunds.collect do |refund|
11
+ Refund.new refund.merge(
12
+ access_token: access_token
13
+ )
14
+ end
15
+ end
5
16
  end
6
17
  end
7
18
  end
@@ -2,6 +2,17 @@ module Square
2
2
  module Connect
3
3
  module Connections
4
4
  module Settlements
5
+ def settlements(params = nil)
6
+ access_token_required!
7
+ settlements = handle_response do
8
+ access_token.get endpoint_for(identifier, :settlements), params
9
+ end
10
+ settlements.collect do |settlement|
11
+ Settlement.new settlement.merge(
12
+ access_token: access_token
13
+ )
14
+ end
15
+ end
5
16
  end
6
17
  end
7
18
  end
@@ -6,7 +6,6 @@ module Square
6
6
  include Connections::Payments
7
7
  include Connections::Refunds
8
8
  include Connections::Settlements
9
- include Connections::BankAccounts
10
9
 
11
10
  attr_accessor :name, :email, :country_code, :language_code
12
11
 
@@ -72,8 +72,4 @@ module Square
72
72
  end
73
73
  end
74
74
  end
75
- end
76
-
77
- require 'square/connect/connections'
78
- require 'square/connect/merchant'
79
- require 'square/connect/payment'
75
+ end
@@ -25,8 +25,14 @@ module Square
25
25
 
26
26
  def initialize(*args)
27
27
  super do |attributes|
28
- self.merchant = attributes[:merchant] || Merchant.new(attributes[:merchant_id] || :me)
29
- self.creator = attributes[:creator] || attributes[:creator_id] && Merchant.new(attributes[:creator_id])
28
+ self.merchant = if attributes[:merchant_id]
29
+ Merchant.new attributes[:merchant_id]
30
+ else
31
+ Merchant.new :me
32
+ end
33
+ self.creator = if attributes[:creator_id]
34
+ Merchant.new attributes[:creator_id]
35
+ end
30
36
  self.created_at = if attributes[:created_at]
31
37
  Time.parse attributes[:created_at]
32
38
  end
@@ -18,7 +18,9 @@ module Square
18
18
  self.send "#{time_key}=", Time.parse(attributes[time_key])
19
19
  end
20
20
  end
21
- self.payment = attributes[:payment] || attributes[:payment_id] && Payment.new(attributes[:payment_id])
21
+ self.payment = if attributes[:payment_id]
22
+ Payment.new attributes[:payment_id]
23
+ end
22
24
  end
23
25
  end
24
26
  end
@@ -0,0 +1,25 @@
1
+ module Square
2
+ module Connect
3
+ class Settlement < Node
4
+ attr_accessor :status, :initiated_at, :bank_account, :total_money, :entries
5
+
6
+ def initialize(*args)
7
+ super do |attributes|
8
+ self.status = attributes[:status]
9
+ self.initiated_at = if attributes[:initiated_at]
10
+ Time.parse attributes[:initiated_at]
11
+ end
12
+ self.bank_account = if attributes[:bank_account_id]
13
+ BankAccount.new attributes[:bank_account_id]
14
+ end
15
+ self.total_money = if attributes[:total_money]
16
+ Money.new attributes[:total_money]
17
+ end
18
+ self.entries = Array(attributes[:entries]).collect do |entry_attributes|
19
+ SettlementEntry.new entry_attributes
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,22 @@
1
+ module Square
2
+ module Connect
3
+ class SettlementEntry
4
+ attr_accessor :type, :payment, :amount_money, :fee_money
5
+
6
+ def initialize(attributes = {})
7
+ self.type = attributes[:type]
8
+ self.payment = if attributes[:payment_id]
9
+ Payment.new attributes[:payment_id]
10
+ end
11
+ [
12
+ :amount_money,
13
+ :fee_money
14
+ ].each do |money_key|
15
+ if attributes[money_key].present?
16
+ self.send "#{money_key}=", Money.new(attributes[money_key])
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ [
2
+ {
3
+ "id": "R:34GEWHCJGPR40",
4
+ "payment_id": "JGHJ0343",
5
+ "created_at": "2013-01-02T08:00:00.000Z",
6
+ "refunded_money": {
7
+ "amount": 5,
8
+ "currency_code": "USD"
9
+ }
10
+ }
11
+ ]
@@ -0,0 +1,13 @@
1
+ [
2
+ {
3
+ "id": "C:34GEWHCJGPR40",
4
+ "status": "SENT",
5
+ "bank_account_id": "JGHJ0343",
6
+ "initiated_at": "2013-01-02T08:00:00.000Z",
7
+ "type": "CREDIT",
8
+ "total_money": {
9
+ "amount": 5981,
10
+ "currency_code": "USD"
11
+ }
12
+ }
13
+ ]
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe Square::Connect::Connections::Refunds do
4
+ let(:access_token) { 'access_token' }
5
+ let(:me) { Square::Connect::Merchant.me access_token }
6
+
7
+ describe '#payments' do
8
+ it 'should return an array of Square::Connect::Refund' do
9
+ refunds = mock_request 'me/refunds', 'refunds/list' do
10
+ me.refunds
11
+ end
12
+ refunds.should be_a Array
13
+ refunds.should_not be_blank
14
+ refunds.each do |refund|
15
+ refund.should be_a Square::Connect::Refund
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe Square::Connect::Connections::Settlements do
4
+ let(:access_token) { 'access_token' }
5
+ let(:me) { Square::Connect::Merchant.me access_token }
6
+
7
+ describe '#payments' do
8
+ it 'should return an array of Square::Connect::Settlement' do
9
+ settlements = mock_request 'me/settlements', 'settlements/list' do
10
+ me.settlements
11
+ end
12
+ settlements.should be_a Array
13
+ settlements.should_not be_blank
14
+ settlements.each do |settlement|
15
+ settlement.should be_a Square::Connect::Settlement
16
+ end
17
+ end
18
+ end
19
+ end
@@ -9,12 +9,6 @@ describe Square::Connect::Payment do
9
9
 
10
10
  describe '#initialize' do
11
11
  describe 'merchant' do
12
- context 'when merchant given' do
13
- subject { klass.new identifier, merchant: Square::Connect::Merchant.new(merchant_id) }
14
- its(:merchant) { should be_a Square::Connect::Merchant }
15
- its(:endpoint) { should == File.join(Square::Connect::ROOT_URL, "#{merchant_id}/payments/#{identifier}") }
16
- end
17
-
18
12
  context 'when merchant_id given' do
19
13
  subject { klass.new identifier, merchant_id: merchant_id }
20
14
  its(:merchant) { should be_a Square::Connect::Merchant }
@@ -29,11 +23,6 @@ describe Square::Connect::Payment do
29
23
  end
30
24
 
31
25
  describe 'creator' do
32
- context 'when creator given' do
33
- subject { klass.new identifier, creator: Square::Connect::Merchant.new(creator_id) }
34
- its(:creator) { should be_a Square::Connect::Merchant }
35
- end
36
-
37
26
  context 'when creator_id given' do
38
27
  subject { klass.new identifier, creator_id: creator_id }
39
28
  its(:creator) { should be_a Square::Connect::Merchant }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: square
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov
@@ -96,8 +96,8 @@ files:
96
96
  - VERSION
97
97
  - lib/square.rb
98
98
  - lib/square/connect.rb
99
+ - lib/square/connect/bank_account.rb
99
100
  - lib/square/connect/connections.rb
100
- - lib/square/connect/connections/bank_accounts.rb
101
101
  - lib/square/connect/connections/payments.rb
102
102
  - lib/square/connect/connections/refunds.rb
103
103
  - lib/square/connect/connections/settlements.rb
@@ -109,6 +109,8 @@ files:
109
109
  - lib/square/connect/node.rb
110
110
  - lib/square/connect/payment.rb
111
111
  - lib/square/connect/refund.rb
112
+ - lib/square/connect/settlement.rb
113
+ - lib/square/connect/settlement_entry.rb
112
114
  - lib/square/connect/tax.rb
113
115
  - lib/square/connect/tender.rb
114
116
  - lib/square/exception.rb
@@ -121,9 +123,13 @@ files:
121
123
  - spec/mock_response/merchant/me.json
122
124
  - spec/mock_response/payments/list.json
123
125
  - spec/mock_response/payments/single.json
126
+ - spec/mock_response/refunds/list.json
127
+ - spec/mock_response/settlements/list.json
124
128
  - spec/mock_response/token.json
125
129
  - spec/spec_helper.rb
126
130
  - spec/square/connect/connections/payments_spec.rb
131
+ - spec/square/connect/connections/refunds_spec.rb
132
+ - spec/square/connect/connections/settlements_spec.rb
127
133
  - spec/square/connect/merchant_spec.rb
128
134
  - spec/square/connect/node_spec.rb
129
135
  - spec/square/connect/payment_spec.rb
@@ -1,8 +0,0 @@
1
- module Square
2
- module Connect
3
- module Connections
4
- module BankAccounts
5
- end
6
- end
7
- end
8
- end