Sha256: b87d626ab8a6e3c33b46d832482842f93684bfc946f26369e7488b9e3d5f93b0

Contents?: true

Size: 781 Bytes

Versions: 1

Compression:

Stored size: 781 Bytes

Contents

module Moneytree
  module Account
    extend ActiveSupport::Concern

    included do
      enum moneytree_psp: Moneytree::PSPS
      serialize :psp_credentials
      # encrypts :psp_credentials
      # FIXME: enable https://github.com/ankane/lockbox
      delegate :client, :oauth_link, to: :psp
    end

    def oauth_callback(params)
      update! psp_credentials: psp.oauth_callback(params)
    end

    def psp_connected?
      false
      # moneytree_psp && psp_credentials
    end

    def needs_oauth?
      true
    end

    def charge; end

    def refund; end

    private

    def psp
      @psp ||=
        case moneytree_psp
        when 'square'
          Moneytree::PaymentProvider::Square.new(self)
        else
          raise 'BOOM'
        end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
moneytree-rails-0.1.0 lib/moneytree/account.rb