promisepay 1.0.1 → 1.0.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: adf04a3bdbb2d06fb8ac5c9d227472472ae2f848
4
- data.tar.gz: ae1993be85c0a4dcfe2b7d85c417210d09ea4018
3
+ metadata.gz: 720f65f4244539bf6ba85c933da844e316175e79
4
+ data.tar.gz: 51b022522725cc0d87a93de9a39ec92d59e1bef9
5
5
  SHA512:
6
- metadata.gz: 21df78755f2183845a671aa0b94f0cf6c56c3e9ed713df5199da036dd72d14475a99c1f0f96e38b7e8fe24b7d45698a6df45e8ecd4fd72b2988982b5085a8fc8
7
- data.tar.gz: b414646de24bfbd94a7246de6658891ac4617974c4eca4736f7d4d4934a239e37f5067da612fd036906d07909cfb01d2f3a7091b2f2253a3392e4444b197b5ee
6
+ metadata.gz: c986f0beea300497a1d8ae57b1d662739e822189efd3d1e7de7ed2dd19a76a9c19445f1f7c86fc579420b5d99ce53a874b8cf6fcff3b6986f3ec45ee2cea783f
7
+ data.tar.gz: 0e76772a62fa67e0ff7e6ba8794dfe29c530f3d7b4efb37f80e164f8f722476259182e44b3dcb1e4c70295a76e5eee69774285f0f740d4208d152f9ac29b96ce
data/README.md CHANGED
@@ -504,6 +504,29 @@ charge.buyer
504
504
  charge.status
505
505
  ```
506
506
 
507
+ ##Direct Debit Authority
508
+ #####Get a list of direct debit authorities for a given account
509
+ ```ruby
510
+ bank_account = client.bank_accounts.find('9fda18e7-b1d3-4a83-830d-0cef0f62cd25')
511
+ ddas = client.charges.find_all(bank_account.id)
512
+ ```
513
+ #####Get a direct debit authority
514
+ ```ruby
515
+ dda = client.direct_debit_authorities.find('8f233e04-ffaa-4c9d-adf9-244853848e21')
516
+ ```
517
+ #####Create a direct debit authority
518
+ ```ruby
519
+ charge = client.direct_debit_authorities.create(
520
+ account_id: '9fda18e7-b1d3-4a83-830d-0cef0f62cd25',
521
+ amount: '10000'
522
+ )
523
+ ```
524
+ #####Delete a direct debit authority
525
+ ```ruby
526
+ dda = client.direct_debit_authorities.find('8f233e04-ffaa-4c9d-adf9-244853848e21')
527
+ dda.delete
528
+ ```
529
+
507
530
  _Check out the [online documentation](http://promisepay.github.io/promisepay-ruby/) to get a full list of available resources and methods._
508
531
 
509
532
  #4. Contributing
@@ -6,6 +6,7 @@ require_relative 'models/bank_account'
6
6
  require_relative 'models/card_account'
7
7
  require_relative 'models/charge'
8
8
  require_relative 'models/company'
9
+ require_relative 'models/direct_debit_authority'
9
10
  require_relative 'models/fee'
10
11
  require_relative 'models/item'
11
12
  require_relative 'models/paypal_account'
@@ -19,6 +20,7 @@ require_relative 'resources/card_account_resource'
19
20
  require_relative 'resources/charge_resource'
20
21
  require_relative 'resources/company_resource'
21
22
  require_relative 'resources/fee_resource'
23
+ require_relative 'resources/direct_debit_authority_resource'
22
24
  require_relative 'resources/item_resource'
23
25
  require_relative 'resources/paypal_account_resource'
24
26
  require_relative 'resources/token_resource'
@@ -119,6 +121,7 @@ module Promisepay
119
121
  card_accounts: CardAccountResource,
120
122
  charges: ChargeResource,
121
123
  companies: CompanyResource,
124
+ direct_debit_authorities: DirectDebitAuthorityResource,
122
125
  fees: FeeResource,
123
126
  items: ItemResource,
124
127
  paypal_accounts: PaypalAccountResource,
@@ -0,0 +1,14 @@
1
+ module Promisepay
2
+ # Manage Direct Debit Authorities
3
+ class DirectDebitAuthority < BaseModel
4
+ # Delete a specific Direct Debit Authority
5
+ #
6
+ # @see https://reference.promisepay.com/#delete-direct-debit-authority
7
+ #
8
+ # @return [Boolean]
9
+ def delete
10
+ @client.delete("direct_debit_authorities/#{id}")
11
+ true
12
+ end
13
+ end
14
+ end
@@ -52,7 +52,7 @@ module Promisepay
52
52
  #
53
53
  # @return [Promisepay::Company]
54
54
  def update(attributes)
55
- response = JSON.parse(@client.patch('companies', attributes).body)
55
+ response = JSON.parse(@client.patch("companies/#{attributes[:id]}", attributes).body)
56
56
  Promisepay::Company.new(@client, response['companies'])
57
57
  end
58
58
  end
@@ -0,0 +1,48 @@
1
+ module Promisepay
2
+ # Resource for the Direct Debit Authorities API
3
+ class DirectDebitAuthorityResource < BaseResource
4
+ def model
5
+ Promisepay::DirectDebitAuthority
6
+ end
7
+
8
+ # List existing direct debit authorities for a given bank account
9
+ #
10
+ # @see https://reference.promisepay.com/#list-direct-debit-authorities
11
+ #
12
+ # @param account_id [String] account id to retrieve direct debit authorities from.
13
+ # @param options [Hash] Optional options.
14
+ # @option options [Integer] :limit Can ask for up to 200 users. default: 10
15
+ # @option options [Integer] :offset Pagination help. default: 0
16
+ #
17
+ # @return [Array<Promisepay::DirectDebitAuthority>] List of direct debit authorities.
18
+ def find_all(account_id, options = {})
19
+ response = JSON.parse(@client.get('direct_debit_authorities', { account_id: account_id }.merge(options)).body)
20
+ direct_debit_authorities = response.key?('direct_debit_authorities') ? response['direct_debit_authorities'] : []
21
+ direct_debit_authorities.map { |attributes| Promisepay::DirectDebitAuthority.new(@client, attributes) }
22
+ end
23
+
24
+ # Show details of a specific Direct Debit Authority
25
+ #
26
+ # @see https://reference.promisepay.com/#show-direct-debit-authority
27
+ #
28
+ # @param id [String] direct debit authority ID.
29
+ #
30
+ # @return [Promisepay::DirectDebitAuthority]
31
+ def find(id)
32
+ response = JSON.parse(@client.get("direct_debit_authorities/#{id}").body)
33
+ Promisepay::DirectDebitAuthority.new(@client, response['direct_debit_authorities'])
34
+ end
35
+
36
+ # Create a Direct Debit Authority associated with a Bank Account.
37
+ #
38
+ # @see https://reference.promisepay.com/#create-direct-debit-authority
39
+ #
40
+ # @param attributes [Hash] Direct Debit Authority's attributes.
41
+ #
42
+ # @return [Promisepay::DirectDebitAuthority]
43
+ def create(attributes)
44
+ response = JSON.parse(@client.post('direct_debit_authorities', attributes).body)
45
+ Promisepay::DirectDebitAuthority.new(@client, response['direct_debit_authorities'])
46
+ end
47
+ end
48
+ end
@@ -52,7 +52,7 @@ module Promisepay
52
52
  #
53
53
  # @return [Promisepay::User]
54
54
  def update(attributes)
55
- response = JSON.parse(@client.patch('users', attributes).body)
55
+ response = JSON.parse(@client.patch("users/#{attributes[:id]}", attributes).body)
56
56
  Promisepay::User.new(@client, response['users'])
57
57
  end
58
58
  end
@@ -1,4 +1,4 @@
1
1
  # Gem version
2
2
  module Promisepay
3
- VERSION = '1.0.1'
3
+ VERSION = '1.0.2'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: promisepay
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Romain Vigo Benia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-01 00:00:00.000000000 Z
11
+ date: 2016-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -87,6 +87,7 @@ files:
87
87
  - lib/promisepay/models/card_account.rb
88
88
  - lib/promisepay/models/charge.rb
89
89
  - lib/promisepay/models/company.rb
90
+ - lib/promisepay/models/direct_debit_authority.rb
90
91
  - lib/promisepay/models/fee.rb
91
92
  - lib/promisepay/models/item.rb
92
93
  - lib/promisepay/models/paypal_account.rb
@@ -99,6 +100,7 @@ files:
99
100
  - lib/promisepay/resources/card_account_resource.rb
100
101
  - lib/promisepay/resources/charge_resource.rb
101
102
  - lib/promisepay/resources/company_resource.rb
103
+ - lib/promisepay/resources/direct_debit_authority_resource.rb
102
104
  - lib/promisepay/resources/fee_resource.rb
103
105
  - lib/promisepay/resources/item_resource.rb
104
106
  - lib/promisepay/resources/paypal_account_resource.rb