gocardless_pro 1.0.5 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/lib/gocardless_pro/api_service.rb +3 -3
  4. data/lib/gocardless_pro/resources/bank_details_lookup.rb +8 -10
  5. data/lib/gocardless_pro/resources/creditor.rb +36 -42
  6. data/lib/gocardless_pro/resources/creditor_bank_account.rb +24 -38
  7. data/lib/gocardless_pro/resources/customer.rb +12 -27
  8. data/lib/gocardless_pro/resources/customer_bank_account.rb +26 -39
  9. data/lib/gocardless_pro/resources/event.rb +49 -40
  10. data/lib/gocardless_pro/resources/mandate.rb +33 -35
  11. data/lib/gocardless_pro/resources/mandate_pdf.rb +10 -11
  12. data/lib/gocardless_pro/resources/payment.rb +34 -42
  13. data/lib/gocardless_pro/resources/payout.rb +23 -34
  14. data/lib/gocardless_pro/resources/redirect_flow.rb +49 -54
  15. data/lib/gocardless_pro/resources/refund.rb +24 -39
  16. data/lib/gocardless_pro/resources/subscription.rb +65 -84
  17. data/lib/gocardless_pro/services/bank_details_lookups_service.rb +6 -5
  18. data/lib/gocardless_pro/services/creditor_bank_accounts_service.rb +7 -6
  19. data/lib/gocardless_pro/services/creditors_service.rb +7 -6
  20. data/lib/gocardless_pro/services/customer_bank_accounts_service.rb +11 -10
  21. data/lib/gocardless_pro/services/customers_service.rb +7 -6
  22. data/lib/gocardless_pro/services/events_service.rb +8 -6
  23. data/lib/gocardless_pro/services/mandate_pdfs_service.rb +6 -5
  24. data/lib/gocardless_pro/services/mandates_service.rb +7 -6
  25. data/lib/gocardless_pro/services/payments_service.rb +7 -6
  26. data/lib/gocardless_pro/services/payouts_service.rb +7 -6
  27. data/lib/gocardless_pro/services/redirect_flows_service.rb +6 -5
  28. data/lib/gocardless_pro/services/refunds_service.rb +7 -6
  29. data/lib/gocardless_pro/services/subscriptions_service.rb +7 -6
  30. data/lib/gocardless_pro/version.rb +1 -1
  31. data/lib/gocardless_pro.rb +2 -3
  32. data/spec/resources/creditor_spec.rb +9 -1
  33. data/spec/resources/event_spec.rb +4 -0
  34. data/spec/resources/mandate_spec.rb +9 -1
  35. data/spec/resources/subscription_spec.rb +0 -4
  36. data/spec/services/creditor_bank_accounts_service_spec.rb +8 -0
  37. data/spec/services/creditors_service_spec.rb +39 -9
  38. data/spec/services/customer_bank_accounts_service_spec.rb +8 -0
  39. data/spec/services/customers_service_spec.rb +8 -0
  40. data/spec/services/events_service_spec.rb +8 -0
  41. data/spec/services/mandates_service_spec.rb +8 -0
  42. data/spec/services/payments_service_spec.rb +8 -0
  43. data/spec/services/payouts_service_spec.rb +8 -0
  44. data/spec/services/redirect_flows_service_spec.rb +8 -0
  45. data/spec/services/refunds_service_spec.rb +8 -0
  46. data/spec/services/subscriptions_service_spec.rb +8 -13
  47. metadata +19 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 25c17c94e9c95d89c64ef541cba1ad27a4161034
4
- data.tar.gz: f3e4363abacd1fd9762b6e93dc1f1a9be5108a11
3
+ metadata.gz: f9bf930f0861c969e5518b00a10e9751691b4505
4
+ data.tar.gz: 3ca0cd94ef9b840cacf9e5aa3ddd7fb843404ed3
5
5
  SHA512:
6
- metadata.gz: 25a5a1693d92817de49cd708ae348c0c86833fae5838c4691c877fbb298ca5c5e023671cdd5dbb4d0f374329837fc5d4273205ef2c380ce77192737771059265
7
- data.tar.gz: b4ad5c3055093b64930ca5612940f75ad0f8db82c153a3b8e8b58680f08e379c8880f381f11dab061e914ae0d2276bf8a9ee18a3806bf6fb0b1edd2c0e30aae1
6
+ metadata.gz: a86b8b85b3e57c6b199d8dbea5591bb3a393f339e2e506a939a82a2bdc22cb8df5361f1f4e4288604b29d3debdfde3b2a7ebb1d8895c640a456e4d795c3b5477
7
+ data.tar.gz: 2bf60b407e6fdc07d2e582274197bff176b03f9fc4d30f25591943ab0479121ab9ea388c56c931d0bfe6d14aa5276d1e7e983faaa06fd212ed900ca84d83e4b3
data/README.md CHANGED
@@ -5,11 +5,13 @@ A Ruby client for the GoCardless API. For full details of the GoCardless API, se
5
5
  [![Gem Version](https://badge.fury.io/rb/statesman.png)](http://badge.fury.io/rb/gocardless_pro)
6
6
  [![Build Status](https://travis-ci.org/gocardless/gocardless-pro-ruby.svg?branch=master)](https://travis-ci.org/gocardless/gocardless-pro-ruby)
7
7
 
8
+ - ["Getting started" guide](https://developer.gocardless.com/getting-started/api/introduction/?lang=ruby) with copy and paste Ruby code samples
9
+ - [API Reference](https://developer.gocardless.com/api-reference/2015-07-06)
8
10
 
9
11
  ## Usage Examples
10
12
 
11
13
  This README will use `customers` throughout but each of the resources in the
12
- [API](https://developer.gocardless.com/pro/) is available in this library.
14
+ [API](https://developer.gocardless.com/api-reference/) is available in this library.
13
15
 
14
16
  ### Installation
15
17
 
@@ -147,7 +149,7 @@ When the API returns an error, the client will raise a corresponding one. There
147
149
  - `GoCardlessPro::InvalidStateError`
148
150
  - `GoCardlessPro::ValidationError`
149
151
 
150
- These errors are fully documented in the [API documentation](https://developer.gocardless.com/pro/#overview-errors).
152
+ These errors are fully documented in the [API documentation](https://developer.gocardless.com/api-reference/#overview-errors).
151
153
 
152
154
  All errors have the following methods to facilitate access to information in the API response:
153
155
 
@@ -1,9 +1,9 @@
1
1
  # encoding: utf-8
2
2
  #
3
- # WARNING: Do not edit by hand, this file was generated by Crank:
4
- #
5
- # https://github.com/gocardless/crank
3
+ # This client is automatically generated from a template and JSON schema definition.
4
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
6
5
  #
6
+
7
7
  require 'uri'
8
8
  require 'base64'
9
9
 
@@ -1,25 +1,23 @@
1
-
2
-
3
1
  # encoding: utf-8
4
2
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
- #
7
- # https://github.com/gocardless/crank
3
+ # This client is automatically generated from a template and JSON schema definition.
4
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
8
5
  #
6
+
9
7
  require 'uri'
10
8
 
11
9
  module GoCardlessPro
12
10
  # A module containing classes for each of the resources in the GC Api
13
11
  module Resources
14
- # Look up the name and reachability of a bank.
15
12
  # Represents an instance of a bank_details_lookup resource returned from the API
13
+
14
+ # Look up the name and reachability of a bank.
16
15
  class BankDetailsLookup
17
16
  attr_reader :available_debit_schemes
18
-
19
17
  attr_reader :bank_name
20
-
21
18
  attr_reader :bic
22
- # initialize a resource instance
19
+
20
+ # Initialize a bank_details_lookup resource instance
23
21
  # @param object [Hash] an object returned from the API
24
22
  def initialize(object, response = nil)
25
23
  @object = object
@@ -34,7 +32,7 @@ module GoCardlessPro
34
32
  ApiResponse.new(@response)
35
33
  end
36
34
 
37
- # Provides the resource as a hash of all it's readable attributes
35
+ # Provides the bank_details_lookup resource as a hash of all its readable attributes
38
36
  def to_h
39
37
  @object
40
38
  end
@@ -1,46 +1,40 @@
1
-
2
-
3
1
  # encoding: utf-8
4
2
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
- #
7
- # https://github.com/gocardless/crank
3
+ # This client is automatically generated from a template and JSON schema definition.
4
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
8
5
  #
6
+
9
7
  require 'uri'
10
8
 
11
9
  module GoCardlessPro
12
10
  # A module containing classes for each of the resources in the GC Api
13
11
  module Resources
14
- # Each [payment](#core-endpoints-payments) taken through the API is linked to
15
- # a "creditor", to whom the payment is then paid out. In most cases your
12
+ # Represents an instance of a creditor resource returned from the API
13
+
14
+ # Each [payment](#core-endpoints-payments) taken through the API is linked
15
+ # to a "creditor", to whom the payment is then paid out. In most cases your
16
16
  # organisation will have a single "creditor", but the API also supports
17
17
  # collecting payments on behalf of others.
18
18
  #
19
- # Please get in touch if you
20
- # wish to use this endpoint. Currently, for Anti Money Laundering reasons, any
21
- # creditors you add must be directly related to your organisation.
22
- # Represents an instance of a creditor resource returned from the API
19
+ # Please get in touch
20
+ # if you wish to use this endpoint. Currently, for Anti Money Laundering
21
+ # reasons, any creditors you add must be directly related to your
22
+ # organisation.
23
23
  class Creditor
24
24
  attr_reader :address_line1
25
-
26
25
  attr_reader :address_line2
27
-
28
26
  attr_reader :address_line3
29
-
30
27
  attr_reader :city
31
-
32
28
  attr_reader :country_code
33
-
34
29
  attr_reader :created_at
35
-
36
30
  attr_reader :id
37
-
31
+ attr_reader :logo_url
38
32
  attr_reader :name
39
-
40
33
  attr_reader :postal_code
41
-
42
34
  attr_reader :region
43
- # initialize a resource instance
35
+ attr_reader :scheme_identifiers
36
+
37
+ # Initialize a creditor resource instance
44
38
  # @param object [Hash] an object returned from the API
45
39
  def initialize(object, response = nil)
46
40
  @object = object
@@ -53,9 +47,11 @@ module GoCardlessPro
53
47
  @created_at = object['created_at']
54
48
  @id = object['id']
55
49
  @links = object['links']
50
+ @logo_url = object['logo_url']
56
51
  @name = object['name']
57
52
  @postal_code = object['postal_code']
58
53
  @region = object['region']
54
+ @scheme_identifiers = object['scheme_identifiers']
59
55
  @response = response
60
56
  end
61
57
 
@@ -63,34 +59,32 @@ module GoCardlessPro
63
59
  ApiResponse.new(@response)
64
60
  end
65
61
 
66
- # return the links that the resource has
62
+ # Return the links that the resource has
67
63
  def links
68
- valid_link_keys = %w(default_eur_payout_account default_gbp_payout_account default_sek_payout_account )
69
- valid_links = (@links || {}).select { |key, _| valid_link_keys.include?(key) }
70
-
71
- links_class = Struct.new(
72
- *{
64
+ @links_links ||= Links.new(@links)
65
+ end
73
66
 
74
- default_eur_payout_account: '',
67
+ # Provides the creditor resource as a hash of all its readable attributes
68
+ def to_h
69
+ @object
70
+ end
75
71
 
76
- default_gbp_payout_account: '',
72
+ class Links
73
+ def initialize(links)
74
+ @links = links
75
+ end
77
76
 
78
- default_sek_payout_account: ''
77
+ def default_eur_payout_account
78
+ @links['default_eur_payout_account']
79
+ end
79
80
 
80
- }.keys
81
- ) do
82
- def initialize(hash)
83
- hash.each do |key, val|
84
- send("#{key}=", val)
85
- end
86
- end
81
+ def default_gbp_payout_account
82
+ @links['default_gbp_payout_account']
87
83
  end
88
- links_class.new(valid_links)
89
- end
90
84
 
91
- # Provides the resource as a hash of all it's readable attributes
92
- def to_h
93
- @object
85
+ def default_sek_payout_account
86
+ @links['default_sek_payout_account']
87
+ end
94
88
  end
95
89
  end
96
90
  end
@@ -1,46 +1,38 @@
1
-
2
-
3
1
  # encoding: utf-8
4
2
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
- #
7
- # https://github.com/gocardless/crank
3
+ # This client is automatically generated from a template and JSON schema definition.
4
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
8
5
  #
6
+
9
7
  require 'uri'
10
8
 
11
9
  module GoCardlessPro
12
10
  # A module containing classes for each of the resources in the GC Api
13
11
  module Resources
12
+ # Represents an instance of a creditor_bank_account resource returned from the API
13
+
14
14
  # Creditor Bank Accounts hold the bank details of a
15
15
  # [creditor](#whitelabel-partner-endpoints-creditors). These are the bank
16
16
  # accounts which your [payouts](#core-endpoints-payouts) will be sent to.
17
- #
18
- #
17
+
18
+ # #
19
19
  # Note that creditor bank accounts must be unique, and so you will
20
20
  # encounter a `bank_account_exists` error if you try to create a duplicate
21
21
  # bank account. You may wish to handle this by updating the existing record
22
- # instead, the ID of which will be provided as `links[creditor_bank_account]`
23
- # in the error response.
24
- # Represents an instance of a creditor_bank_account resource returned from the API
22
+ # instead, the ID of which will be provided as
23
+ # `links[creditor_bank_account]` in the error response.
25
24
  class CreditorBankAccount
26
25
  attr_reader :account_holder_name
27
-
28
26
  attr_reader :account_number_ending
29
-
30
27
  attr_reader :bank_name
31
-
32
28
  attr_reader :country_code
33
-
34
29
  attr_reader :created_at
35
-
36
30
  attr_reader :currency
37
-
38
31
  attr_reader :enabled
39
-
40
32
  attr_reader :id
41
-
42
33
  attr_reader :metadata
43
- # initialize a resource instance
34
+
35
+ # Initialize a creditor_bank_account resource instance
44
36
  # @param object [Hash] an object returned from the API
45
37
  def initialize(object, response = nil)
46
38
  @object = object
@@ -62,31 +54,25 @@ module GoCardlessPro
62
54
  ApiResponse.new(@response)
63
55
  end
64
56
 
65
- # return the links that the resource has
57
+ # Return the links that the resource has
66
58
  def links
67
- valid_link_keys = %w(creditor )
68
- valid_links = (@links || {}).select { |key, _| valid_link_keys.include?(key) }
69
-
70
- links_class = Struct.new(
71
- *{
72
-
73
- creditor: ''
74
-
75
- }.keys
76
- ) do
77
- def initialize(hash)
78
- hash.each do |key, val|
79
- send("#{key}=", val)
80
- end
81
- end
82
- end
83
- links_class.new(valid_links)
59
+ @links_links ||= Links.new(@links)
84
60
  end
85
61
 
86
- # Provides the resource as a hash of all it's readable attributes
62
+ # Provides the creditor_bank_account resource as a hash of all its readable attributes
87
63
  def to_h
88
64
  @object
89
65
  end
66
+
67
+ class Links
68
+ def initialize(links)
69
+ @links = links
70
+ end
71
+
72
+ def creditor
73
+ @links['creditor']
74
+ end
75
+ end
90
76
  end
91
77
  end
92
78
  end
@@ -1,59 +1,44 @@
1
-
2
-
3
1
  # encoding: utf-8
4
2
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
- #
7
- # https://github.com/gocardless/crank
3
+ # This client is automatically generated from a template and JSON schema definition.
4
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
8
5
  #
6
+
9
7
  require 'uri'
10
8
 
11
9
  module GoCardlessPro
12
10
  # A module containing classes for each of the resources in the GC Api
13
11
  module Resources
12
+ # Represents an instance of a customer resource returned from the API
13
+
14
14
  # Customer objects hold the contact details for a customer. A customer can
15
15
  # have several [customer bank
16
16
  # accounts](#core-endpoints-customer-bank-accounts), which in turn can have
17
17
  # several Direct Debit [mandates](#core-endpoints-mandates).
18
18
  #
19
- # Note:
20
- # the `swedish_identity_number` field may only be supplied for Swedish
21
- # customers, and must be supplied if you intend to set up an Autogiro mandate
22
- # with the customer.
23
- # Represents an instance of a customer resource returned from the API
19
+ #
20
+ # Note: the `swedish_identity_number` field may only be supplied for Swedish
21
+ # customers, and must be supplied if you intend to set up an Autogiro
22
+ # mandate with the customer.
24
23
  class Customer
25
24
  attr_reader :address_line1
26
-
27
25
  attr_reader :address_line2
28
-
29
26
  attr_reader :address_line3
30
-
31
27
  attr_reader :city
32
-
33
28
  attr_reader :company_name
34
-
35
29
  attr_reader :country_code
36
-
37
30
  attr_reader :created_at
38
-
39
31
  attr_reader :email
40
-
41
32
  attr_reader :family_name
42
-
43
33
  attr_reader :given_name
44
-
45
34
  attr_reader :id
46
-
47
35
  attr_reader :language
48
-
49
36
  attr_reader :metadata
50
-
51
37
  attr_reader :postal_code
52
-
53
38
  attr_reader :region
54
-
55
39
  attr_reader :swedish_identity_number
56
- # initialize a resource instance
40
+
41
+ # Initialize a customer resource instance
57
42
  # @param object [Hash] an object returned from the API
58
43
  def initialize(object, response = nil)
59
44
  @object = object
@@ -81,7 +66,7 @@ module GoCardlessPro
81
66
  ApiResponse.new(@response)
82
67
  end
83
68
 
84
- # Provides the resource as a hash of all it's readable attributes
69
+ # Provides the customer resource as a hash of all its readable attributes
85
70
  def to_h
86
71
  @object
87
72
  end
@@ -1,46 +1,39 @@
1
-
2
-
3
1
  # encoding: utf-8
4
2
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
- #
7
- # https://github.com/gocardless/crank
3
+ # This client is automatically generated from a template and JSON schema definition.
4
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
8
5
  #
6
+
9
7
  require 'uri'
10
8
 
11
9
  module GoCardlessPro
12
10
  # A module containing classes for each of the resources in the GC Api
13
11
  module Resources
12
+ # Represents an instance of a customer_bank_account resource returned from the API
13
+
14
14
  # Customer Bank Accounts hold the bank details of a
15
15
  # [customer](#core-endpoints-customers). They always belong to a
16
16
  # [customer](#core-endpoints-customers), and may be linked to several Direct
17
17
  # Debit [mandates](#core-endpoints-mandates).
18
18
  #
19
- # Note that customer bank
20
- # accounts must be unique, and so you will encounter a `bank_account_exists`
21
- # error if you try to create a duplicate bank account. You may wish to handle
22
- # this by updating the existing record instead, the ID of which will be
23
- # provided as links[customer_bank_account] in the error response.
24
- # Represents an instance of a customer_bank_account resource returned from the API
19
+ # Note that
20
+ # customer bank accounts must be unique, and so you will encounter a
21
+ # `bank_account_exists` error if you try to create a duplicate bank account.
22
+ # You may wish to handle this by updating the existing record instead, the
23
+ # ID of which will be provided as `links[customer_bank_account]` in the
24
+ # error response.
25
25
  class CustomerBankAccount
26
26
  attr_reader :account_holder_name
27
-
28
27
  attr_reader :account_number_ending
29
-
30
28
  attr_reader :bank_name
31
-
32
29
  attr_reader :country_code
33
-
34
30
  attr_reader :created_at
35
-
36
31
  attr_reader :currency
37
-
38
32
  attr_reader :enabled
39
-
40
33
  attr_reader :id
41
-
42
34
  attr_reader :metadata
43
- # initialize a resource instance
35
+
36
+ # Initialize a customer_bank_account resource instance
44
37
  # @param object [Hash] an object returned from the API
45
38
  def initialize(object, response = nil)
46
39
  @object = object
@@ -62,31 +55,25 @@ module GoCardlessPro
62
55
  ApiResponse.new(@response)
63
56
  end
64
57
 
65
- # return the links that the resource has
58
+ # Return the links that the resource has
66
59
  def links
67
- valid_link_keys = %w(customer )
68
- valid_links = (@links || {}).select { |key, _| valid_link_keys.include?(key) }
69
-
70
- links_class = Struct.new(
71
- *{
72
-
73
- customer: ''
74
-
75
- }.keys
76
- ) do
77
- def initialize(hash)
78
- hash.each do |key, val|
79
- send("#{key}=", val)
80
- end
81
- end
82
- end
83
- links_class.new(valid_links)
60
+ @links_links ||= Links.new(@links)
84
61
  end
85
62
 
86
- # Provides the resource as a hash of all it's readable attributes
63
+ # Provides the customer_bank_account resource as a hash of all its readable attributes
87
64
  def to_h
88
65
  @object
89
66
  end
67
+
68
+ class Links
69
+ def initialize(links)
70
+ @links = links
71
+ end
72
+
73
+ def customer
74
+ @links['customer']
75
+ end
76
+ end
90
77
  end
91
78
  end
92
79
  end
@@ -1,33 +1,28 @@
1
-
2
-
3
1
  # encoding: utf-8
4
2
  #
5
- # WARNING: Do not edit by hand, this file was generated by Crank:
6
- #
7
- # https://github.com/gocardless/crank
3
+ # This client is automatically generated from a template and JSON schema definition.
4
+ # See https://github.com/gocardless/gocardless-pro-ruby#contributing before editing.
8
5
  #
6
+
9
7
  require 'uri'
10
8
 
11
9
  module GoCardlessPro
12
10
  # A module containing classes for each of the resources in the GC Api
13
11
  module Resources
14
- # Events are stored for all webhooks. An event refers to a resource which has
15
- # been updated, for example a payment which has been collected, or a mandate
16
- # which has been transferred.
17
12
  # Represents an instance of a event resource returned from the API
13
+
14
+ # Events are stored for all webhooks. An event refers to a resource which
15
+ # has been updated, for example a payment which has been collected, or a
16
+ # mandate which has been transferred.
18
17
  class Event
19
18
  attr_reader :action
20
-
21
19
  attr_reader :created_at
22
-
23
20
  attr_reader :details
24
-
25
21
  attr_reader :id
26
-
27
22
  attr_reader :metadata
28
-
29
23
  attr_reader :resource_type
30
- # initialize a resource instance
24
+
25
+ # Initialize a event resource instance
31
26
  # @param object [Hash] an object returned from the API
32
27
  def initialize(object, response = nil)
33
28
  @object = object
@@ -46,46 +41,60 @@ module GoCardlessPro
46
41
  ApiResponse.new(@response)
47
42
  end
48
43
 
49
- # return the links that the resource has
44
+ # Return the links that the resource has
50
45
  def links
51
- valid_link_keys = %w(mandate new_customer_bank_account organisation parent_event payment payout previous_customer_bank_account refund subscription )
52
- valid_links = (@links || {}).select { |key, _| valid_link_keys.include?(key) }
46
+ @links_links ||= Links.new(@links)
47
+ end
53
48
 
54
- links_class = Struct.new(
55
- *{
49
+ # Provides the event resource as a hash of all its readable attributes
50
+ def to_h
51
+ @object
52
+ end
56
53
 
57
- mandate: '',
54
+ class Links
55
+ def initialize(links)
56
+ @links = links
57
+ end
58
58
 
59
- new_customer_bank_account: '',
59
+ def mandate
60
+ @links['mandate']
61
+ end
60
62
 
61
- organisation: '',
63
+ def new_customer_bank_account
64
+ @links['new_customer_bank_account']
65
+ end
62
66
 
63
- parent_event: '',
67
+ def new_mandate
68
+ @links['new_mandate']
69
+ end
64
70
 
65
- payment: '',
71
+ def organisation
72
+ @links['organisation']
73
+ end
66
74
 
67
- payout: '',
75
+ def parent_event
76
+ @links['parent_event']
77
+ end
68
78
 
69
- previous_customer_bank_account: '',
79
+ def payment
80
+ @links['payment']
81
+ end
70
82
 
71
- refund: '',
83
+ def payout
84
+ @links['payout']
85
+ end
72
86
 
73
- subscription: ''
87
+ def previous_customer_bank_account
88
+ @links['previous_customer_bank_account']
89
+ end
74
90
 
75
- }.keys
76
- ) do
77
- def initialize(hash)
78
- hash.each do |key, val|
79
- send("#{key}=", val)
80
- end
81
- end
91
+ def refund
92
+ @links['refund']
82
93
  end
83
- links_class.new(valid_links)
84
- end
85
94
 
86
- # Provides the resource as a hash of all it's readable attributes
87
- def to_h
88
- @object
95
+ def subscription
96
+ @links['subscription']
97
+ end
89
98
  end
90
99
  end
91
100
  end