Sha256: bd024f44c28d0fc21f0bae22ff7b26f714cede3727d653ba784a6f78785c6260

Contents?: true

Size: 639 Bytes

Versions: 6

Compression:

Stored size: 639 Bytes

Contents

module BoaVistaStubs
  class Document

    def self.identify(search_params)
      new(search_params).identify
    end

    def initialize(search_params)
      @search_params = search_params
    end

    def identify
      document = build_document

      klass = "BoaVistaStubs::Document::#{document_type_by_document(document)}".constantize

      klass.new(document.document_number)
    end

    protected

    def build_document
      BoaVista::Request.read(@search_params)
    end

    def document_type_by_document(document)
      BoaVista::Request.document_name(document.document_type).to_s.camelize # :cpf or :cnpj
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
boa_vista_stubs-0.0.8 app/models/boa_vista_stubs/document.rb
boa_vista_stubs-0.0.7 app/models/boa_vista_stubs/document.rb
boa_vista_stubs-0.0.6 app/models/boa_vista_stubs/document.rb
boa_vista_stubs-0.0.5 app/models/boa_vista_stubs/document.rb
boa_vista_stubs-0.0.4 app/models/boa_vista_stubs/document.rb
boa_vista_stubs-0.0.3 app/models/boa_vista_stubs/document.rb