synapse_client 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c9f0bea2033ceea2abbafe7c0eebb468d000c57
4
- data.tar.gz: 5fa8315789897737790b98970aaebbefd80f4e96
3
+ metadata.gz: a4636a88b781418553e2e97de39a7edd3e76f833
4
+ data.tar.gz: 8db58c259fd1d4c6c552f0788e53f26d6f94053f
5
5
  SHA512:
6
- metadata.gz: 309d3a9bc001263191bb9d0779ecc875d96e90eb4d90f0bfd3e40f13c37bb8c81d34392c2d7a7920e5853d62ed551e5f66eb929e2a8ddba664f7720aefc43701
7
- data.tar.gz: 2f346d79be366b16a98bb1bd61f8f7f80d15333d361318d889f23b7cdced0df3a3c83827efcff23b1c9860423530809601b2e8ed233f9a3c6f94fc89b6703569
6
+ metadata.gz: d157a8213f38001d4f06a907196877b479777b31f45819547d0af5444b3003a0fe1dee5e4c431cc688420132027b10879d7e25616bf460e8fb0081e173e8b6b4
7
+ data.tar.gz: 82389bfbe4f943911732ce7d1bce1009f6a96a24ec1a69ed9cbed0ef9c88687a654f09bbfd3133dec1ff0e8027d453e7a40e25481840525cfc094aba05a226f4
data/README.md CHANGED
@@ -44,10 +44,11 @@ _See the specs for the most up to date usage demo._
44
44
 
45
45
  ```ruby
46
46
  SynapseClient::Customer.create({
47
- :email => "foo@example.com",
48
- :fullname => "Foo Bar,
49
- :phonenumber => "5555555555",
50
- :ip_address => "8.8.8.8"
47
+ :email => "foo@example.com",
48
+ :fullname => "Foo Bar,
49
+ :phonenumber => "5555555555",
50
+ :ip_address => "8.8.8.8",
51
+ :force_create => true
51
52
  })
52
53
  ```
53
54
 
@@ -110,8 +111,8 @@ _See the specs for the most up to date usage demo._
110
111
  ## TODO (in order of priority)
111
112
 
112
113
  * Better synapse error handling
114
+ * Test for errors
113
115
  * HTTP Error handling
114
- * Logging
115
116
  * MassPay
116
117
  * Refresh access tokens
117
118
  * Security Questions
@@ -7,6 +7,7 @@ require "synapse_client/api_operations/response"
7
7
  require "synapse_client/api_operations/list"
8
8
  require "synapse_client/bank_account"
9
9
  require "synapse_client/error"
10
+ require "synapse_client/mass_pay"
10
11
  require "synapse_client/merchant"
11
12
  require "synapse_client/mfa"
12
13
  require "synapse_client/order"
@@ -93,7 +93,7 @@ module SynapseClient
93
93
  else
94
94
  Order.create(params.merge({
95
95
  :access_token => @access_token,
96
- :seller_id => SynapseClient.merchant_synapse_id,
96
+ :seller_id => params[:seller_id] || SynapseClient.merchant_synapse_id,
97
97
  :bank_pay => "yes" # see README.md
98
98
  }))
99
99
  end
@@ -0,0 +1,35 @@
1
+
2
+ module SynapseClient
3
+ class MassPay < APIResource
4
+
5
+ attr_reader :amount
6
+ attr_reader :trans_type
7
+ attr_reader :source_bank_id
8
+ attr_reader :dest_bank_id
9
+
10
+
11
+ def initialize(options = {})
12
+ options = Map.new(options)
13
+
14
+ update_attributes(options)
15
+ end
16
+
17
+ def self.create(params={})
18
+ response = SynapseClient.request(:post, url + "add", params)
19
+
20
+ return response unless response.successful?
21
+ response.data.mass_pays.map do |mp|
22
+ MassPay.new(mp)
23
+ end
24
+ end
25
+
26
+
27
+ def update_attributes(options)
28
+ @amount = options[:amount]
29
+ @trans_type = options[:trans_type]
30
+ @source_bank_id = options[:source_bank_id].to_i
31
+ @dest_bank_id = options[:dest_bank_id].to_i
32
+ end
33
+
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module SynapseClient
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -0,0 +1,56 @@
1
+ require 'spec_helper'
2
+
3
+ describe SynapseClient::MassPay do
4
+
5
+ before(:each) do
6
+ @customer_a = get_dummy_customer
7
+ @bank_account_a = @customer_a.add_bank_account(dummy_add_bank_account_info)
8
+
9
+ @customer_b = get_dummy_customer
10
+ @bank_account_b = @customer_b.add_bank_account(dummy_add_bank_account_info)
11
+ end
12
+
13
+ describe "adding a bunch of deposits to users" do
14
+ it "should successfully return multiple mass pays" do
15
+
16
+ params = {
17
+ :access_token => @customer_a.access_token,
18
+ :mass_pays => [{
19
+ :amount => 20.to_s,
20
+ :trans_type => 0.to_s,
21
+ :source_bank_id => @bank_account_a.id.to_s,
22
+ :dest_bank_id => @bank_account_b.id.to_s
23
+ },{
24
+ :amount => 10.to_s,
25
+ :trans_type => 0.to_s,
26
+ :source_bank_id => @bank_account_a.id.to_s,
27
+ :dest_bank_id => @bank_account_b.id.to_s
28
+ }]
29
+ }
30
+
31
+ masspays = SynapseClient::MassPay.create(params)
32
+
33
+ if !masspays.instance_of?(Array)
34
+ puts "*** Error message: #{ masspays.error_msg }"
35
+ end
36
+
37
+ expect(masspays).to be_an Array
38
+
39
+ masspays.each do |mp|
40
+ expect(mp.amount).to be_a Float
41
+ expect(mp.trans_type).to be_a Fixnum
42
+ expect(mp.source_bank_id).to be_a Fixnum
43
+ expect(mp.dest_bank_id).to be_a Fixnum
44
+
45
+ expect(mp.amount).to eq(20).or eq(10)
46
+ expect(mp.trans_type).to eq(0)
47
+ expect(mp.source_bank_id).to eq(@bank_account_a.id)
48
+ expect(mp.dest_bank_id).to eq(@bank_account_b.id)
49
+ end
50
+
51
+ end
52
+ end
53
+
54
+ end
55
+
56
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synapse_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Matthias
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-30 00:00:00.000000000 Z
11
+ date: 2015-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -208,6 +208,7 @@ files:
208
208
  - lib/synapse_client/bank_account.rb
209
209
  - lib/synapse_client/customer.rb
210
210
  - lib/synapse_client/error.rb
211
+ - lib/synapse_client/mass_pay.rb
211
212
  - lib/synapse_client/merchant.rb
212
213
  - lib/synapse_client/mfa.rb
213
214
  - lib/synapse_client/order.rb
@@ -218,6 +219,7 @@ files:
218
219
  - spec/spec_helper.rb
219
220
  - spec/synapse_client_bank_account_spec.rb
220
221
  - spec/synapse_client_customer_spec.rb
222
+ - spec/synapse_client_mass_pay_spec.rb
221
223
  - spec/synapse_client_order_spec.rb
222
224
  - spec/synapse_client_spec.rb
223
225
  - synapse_client.gemspec
@@ -249,5 +251,6 @@ test_files:
249
251
  - spec/spec_helper.rb
250
252
  - spec/synapse_client_bank_account_spec.rb
251
253
  - spec/synapse_client_customer_spec.rb
254
+ - spec/synapse_client_mass_pay_spec.rb
252
255
  - spec/synapse_client_order_spec.rb
253
256
  - spec/synapse_client_spec.rb