diff options
author | Sean <seand7565@gmail.com> | 2020-12-24 09:28:28 -0600 |
---|---|---|
committer | Sean <seand7565@gmail.com> | 2020-12-24 09:28:28 -0600 |
commit | f390b53b57d1a75bab9b7d059772fdb65883827b (patch) | |
tree | 59ccaab6b00424e7b2bdac88edc88301ae997583 | |
parent | 613266593cd230d98b6313b92e8e9d3c8fecdb9e (diff) |
Add Installment Details association to Order
This is useful if you want to connect orders to installments - for
instance, if you wanted to get a list of orders for a user that
are part of an installment.
2 files changed, 22 insertions, 0 deletions
diff --git a/app/decorators/models/solidus_subscriptions/spree/order/installment_details_association.rb b/app/decorators/models/solidus_subscriptions/spree/order/installment_details_association.rb new file mode 100644 index 0000000..a1261d4 --- /dev/null +++ b/app/decorators/models/solidus_subscriptions/spree/order/installment_details_association.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module SolidusSubscriptions + module Spree + module Order + module InstallmentDetailsAssociation + def self.prepended(base) + base.has_many :installment_details, class_name: '::SolidusSubscriptions::InstallmentDetail' + end + end + end + end +end + +Spree::Order.prepend(SolidusSubscriptions::Spree::Order::InstallmentDetailsAssociation) diff --git a/spec/decorators/models/solidus_subscriptions/spree/order/installment_details_association_spec.rb b/spec/decorators/models/solidus_subscriptions/spree/order/installment_details_association_spec.rb new file mode 100644 index 0000000..b87d608 --- /dev/null +++ b/spec/decorators/models/solidus_subscriptions/spree/order/installment_details_association_spec.rb @@ -0,0 +1,7 @@ +require 'spec_helper' + +RSpec.describe SolidusSubscriptions::Spree::Order::InstallmentDetailsAssociation, type: :model do + subject { Spree::Order.new } + + it { is_expected.to have_many :installment_details } +end |