Sha256: fb02f9b6a07d61d8220dcc307bb7837e74fa75a61b8ba0b56ad9562fda2b4e01

Contents?: true

Size: 930 Bytes

Versions: 6

Compression:

Stored size: 930 Bytes

Contents

module Finix
  class Identity
    include Finix::Resource
    include Finix::HypermediaRegistry
    include Finix::Verifiable

    define_hypermedia_types [:identities]

    def provision_merchant_on(attrs={})
      self.merchants.create(attrs)
    end

    def create_payment_instrument(attrs={})
      if attrs.is_a?(Finix::Resource)
        attrs.identity = self.id
        attrs = attrs.attributes
      else
        attrs['identity'] = self.id # TODO might be error here
      end

      if attrs['type'] == 'PAYMENT_CARD'
        self.payment_instruments.resource_class = Finix::PaymentCard
      elsif attrs['type'] == 'BANK_ACCOUNT'
        self.payment_instruments.resource_class = Finix::BankAccount
      end

      self.payment_instruments.create(attrs)
    end

    def create_settlement(attrs={})
      attrs = attrs.attributes if attrs.is_a?(Finix::Resource)
      self.settlements.create(attrs)
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
finix-0.7 lib/finix/resources/identity.rb
finix-0.6 lib/finix/resources/identity.rb
finix-0.5 lib/finix/resources/identity.rb
finix-0.4 lib/finix/resources/identity.rb
finix-0.3 lib/finix/resources/identity.rb
finix-0.2 lib/finix/resources/identity.rb