Sha256: 915d7d47ad770c57c0381bec768117c5a7652e8d9e0f2a00efaa2b455b0de421

Contents?: true

Size: 516 Bytes

Versions: 1

Compression:

Stored size: 516 Bytes

Contents

module Workarea
  decorate Payment, with: :affirm do
    decorated do
      embeds_one :affirm, class_name: 'Workarea::Payment::Tender::Affirm'
    end

    def affirm?
      affirm.present?
    end

    def set_affirm(attrs)
      build_affirm unless affirm
      affirm.attributes = attrs.slice(
        :checkout_token,
        :details
      )

      save!
    end

    def clear_affirm
      self.affirm = nil
      save
    end

    def set_credit_card(*)
      self.affirm = nil
      super
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
workarea-affirm-1.0.0 app/models/workarea/payment.decorator