houdini/app/models/concerns/model/trx_assignable.rb
Eric Schultz 2e8821efdf Initial Transaction and OfflineTransaction support
Co-authored-by: Clarissa Lima Borges <clarissa@commitchange.com>
2021-04-13 10:47:37 -05:00

23 lines
720 B
Ruby

# frozen_string_literal: true
# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
module Model::TrxAssignable
extend ActiveSupport::Concern
included do
include Model::Houidable
include Model::Jbuilder
include Model::Eventable
add_builder_expansion :nonprofit, :supporter
add_builder_expansion :trx,
json_attribute: :transaction
has_one :transaction_assignment, as: :assignable
has_one :trx, through: :transaction_assignment, class_name: 'Transaction', foreign_key: 'transaction_id'
has_one :supporter, through: :transaction_assignment
has_one :nonprofit, through: :transaction_assignment
end
end