Class: ForestAdminDatasourceMambuPayments::Collections::Reconciliation
- Inherits:
-
BaseCollection
- Object
- ForestAdminDatasourceToolkit::Collection
- BaseCollection
- ForestAdminDatasourceMambuPayments::Collections::Reconciliation
- Defined in:
- lib/forest_admin_datasource_mambu_payments/collections/reconciliation.rb
Constant Summary collapse
- ManyToOneSchema =
ForestAdminDatasourceToolkit::Schema::Relations::ManyToOneSchema
- ENUM_MATCH_TYPE =
%w[manual auto].freeze
- ENUM_PAYMENT_TYPE =
%w[payment_order incoming_payment return expected_payment payment_capture].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
-
#initialize(datasource) ⇒ Reconciliation
constructor
A new instance of Reconciliation.
- #serialize(record) ⇒ Object
- #update(caller, filter, patch) ⇒ Object
Methods inherited from BaseCollection
#aggregate, client_resource, #fetch_by_ids, #list
Constructor Details
#initialize(datasource) ⇒ Reconciliation
Returns a new instance of Reconciliation.
11 12 13 14 15 16 |
# File 'lib/forest_admin_datasource_mambu_payments/collections/reconciliation.rb', line 11 def initialize(datasource) super(datasource, 'MambuReconciliation') define_schema define_relations reconcile_filter_operators! end |
Instance Method Details
#create(_caller, data) ⇒ Object
18 19 20 |
# File 'lib/forest_admin_datasource_mambu_payments/collections/reconciliation.rb', line 18 def create(_caller, data) serialize(datasource.client.create_reconciliation(build_payload(data))) end |
#serialize(record) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/forest_admin_datasource_mambu_payments/collections/reconciliation.rb', line 27 def serialize(record) a = attrs_of(record) { 'id' => a['id'], 'object' => a['object'], 'transaction_id' => a['transaction_id'], 'payment_id' => a['payment_id'], 'payment_type' => a['payment_type'], 'amount' => a['amount'], 'match_type' => a['match_type'], 'metadata' => a['metadata'], 'canceled_at' => a['canceled_at'], 'created_at' => a['created_at'] } end |
#update(caller, filter, patch) ⇒ Object
22 23 24 25 |
# File 'lib/forest_admin_datasource_mambu_payments/collections/reconciliation.rb', line 22 def update(caller, filter, patch) payload = build_payload(patch) ids_for(caller, filter).each { |id| datasource.client.update_reconciliation(id, payload) } end |