Sha256: a3ba50730b3d15ee4b85b5951b8d92b38c4f97338b7069ea012e68b09bffea07

Contents?: true

Size: 920 Bytes

Versions: 6

Compression:

Stored size: 920 Bytes

Contents

require 'perfect_audit/api/bank_account'
require 'perfect_audit/api/document'

module PerfectAudit
  class Book
    extend Dry::Initializer

    option :pk, as: :id
    option :created, as: :created_at
    option :name
    option :is_public, as: :public
    option :owner_email, optional: true
    option :status_tags, optional: true
    option :bank_accounts, optional: true, as: :_bank_accounts
    option :docs, optional: true, as: :_documents

    alias_method :public?, :public

    def bank_accounts
      _bank_accounts.map do |id, params|
        PerfectAudit::BankAccount.new(params.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo})
      end
    end

    def documents
      _documents.map do |item|
        PerfectAudit::Document.new(item.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo})
      end
    end

    def verification_complete?
      documents.all?(&:verification_complete?)
    end
  end
end



Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
perfect_audit-0.2.0 lib/perfect_audit/api/book.rb
perfect_audit-0.1.5 lib/perfect_audit/api/book.rb
perfect_audit-0.1.4 lib/perfect_audit/api/book.rb
perfect_audit-0.1.3 lib/perfect_audit/api/book.rb
perfect_audit-0.1.2 lib/perfect_audit/api/book.rb
perfect_audit-0.1.1 lib/perfect_audit/api/book.rb