Class: ForestAdminDatasourceMambuPayments::Collections::DirectDebitMandate
- Inherits:
-
BaseCollection
- Object
- ForestAdminDatasourceToolkit::Collection
- BaseCollection
- ForestAdminDatasourceMambuPayments::Collections::DirectDebitMandate
- Defined in:
- lib/forest_admin_datasource_mambu_payments/collections/direct_debit_mandate.rb
Constant Summary collapse
- ManyToOneSchema =
ForestAdminDatasourceToolkit::Schema::Relations::ManyToOneSchema
- ENUM_SEQUENCE_TYPE =
%w[one_off recurrent first final].freeze
- ENUM_SCHEME =
%w[sepa bacs ach].freeze
Constants inherited from BaseCollection
BaseCollection::BOOL_OPS, BaseCollection::ColumnSchema, BaseCollection::DATE_OPS, BaseCollection::ForestException, BaseCollection::ID_OPS, BaseCollection::Leaf, BaseCollection::NUMBER_OPS, BaseCollection::Operators, BaseCollection::STRING_OPS
Instance Method Summary collapse
- #create(_caller, data) ⇒ Object
- #delete(caller, filter) ⇒ Object
-
#initialize(datasource) ⇒ DirectDebitMandate
constructor
A new instance of DirectDebitMandate.
- #serialize(record) ⇒ Object
- #update(caller, filter, patch) ⇒ Object
Methods inherited from BaseCollection
#aggregate, client_resource, #fetch_by_ids, #list
Constructor Details
#initialize(datasource) ⇒ DirectDebitMandate
Returns a new instance of DirectDebitMandate.
12 13 14 15 16 17 |
# File 'lib/forest_admin_datasource_mambu_payments/collections/direct_debit_mandate.rb', line 12 def initialize(datasource) super(datasource, 'MambuDirectDebitMandate') define_schema define_relations reconcile_filter_operators! end |
Instance Method Details
#create(_caller, data) ⇒ Object
19 20 21 |
# File 'lib/forest_admin_datasource_mambu_payments/collections/direct_debit_mandate.rb', line 19 def create(_caller, data) serialize(datasource.client.create_direct_debit_mandate(build_payload(data))) end |
#delete(caller, filter) ⇒ Object
28 29 30 |
# File 'lib/forest_admin_datasource_mambu_payments/collections/direct_debit_mandate.rb', line 28 def delete(caller, filter) ids_for(caller, filter).each { |id| datasource.client.delete_direct_debit_mandate(id) } end |
#serialize(record) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/forest_admin_datasource_mambu_payments/collections/direct_debit_mandate.rb', line 32 def serialize(record) a = attrs_of(record) { 'id' => a['id'], 'object' => a['object'], 'connected_account_id' => a['connected_account_id'], 'external_account_id' => a['external_account_id'], 'type' => a['type'], 'scheme' => a['scheme'], 'status' => a['status'], 'sequence_type' => a['sequence_type'], 'reference' => a['reference'], 'unique_mandate_reference' => a['unique_mandate_reference'], 'creditor_identifier' => a['creditor_identifier'], 'signature_date' => a['signature_date'], 'signature_location' => a['signature_location'], 'creditor' => a['creditor'], 'debtor' => a['debtor'], 'debtor_account' => a['debtor_account'], 'amendment_information' => a['amendment_information'], 'custom_fields' => a['custom_fields'], 'metadata' => a['metadata'], 'created_at' => a['created_at'] } end |
#update(caller, filter, patch) ⇒ Object
23 24 25 26 |
# File 'lib/forest_admin_datasource_mambu_payments/collections/direct_debit_mandate.rb', line 23 def update(caller, filter, patch) payload = build_payload(patch) ids_for(caller, filter).each { |id| datasource.client.update_direct_debit_mandate(id, payload) } end |