Class: FE::Document::IdentificationDocument

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Validations
Defined in:
lib/facturacr/document/identification_document.rb

Constant Summary collapse

TYPES =
{'01'=>'Cédula Fisica', '02'=>'Cédula Jurídica', '03'=>'DIMEX', '04'=>'NITE'}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ IdentificationDocument

Returns a new instance of IdentificationDocument.



15
16
17
18
19
20
21
22
# File 'lib/facturacr/document/identification_document.rb', line 15

def initialize(args={})
  
  @document_type = args[:type]
  @raw_id_number = args[:number]
  if @raw_id_number
    @id_number = "%012d" % args[:number]
  end
end

Instance Attribute Details

#document_typeObject

Returns the value of attribute document_type.



10
11
12
# File 'lib/facturacr/document/identification_document.rb', line 10

def document_type
  @document_type
end

#id_numberObject

Returns the value of attribute id_number.



10
11
12
# File 'lib/facturacr/document/identification_document.rb', line 10

def id_number
  @id_number
end

#raw_id_numberObject

Returns the value of attribute raw_id_number.



10
11
12
# File 'lib/facturacr/document/identification_document.rb', line 10

def raw_id_number
  @raw_id_number
end

Instance Method Details

#build_xml(node, document) ⇒ Object

Raises:



24
25
26
27
28
29
30
31
# File 'lib/facturacr/document/identification_document.rb', line 24

def build_xml(node, document)
  raise FE::Error.new("invalid identification document", class: self.class, messages: errors.messages) unless valid?
  node = Nokogiri::XML::Builder.new if node.nil?         
  node.Identificacion do |x|
    x.Tipo document_type
    x.Numero raw_id_number
  end
end

#to_xml(builder, document) ⇒ Object



32
33
34
# File 'lib/facturacr/document/identification_document.rb', line 32

def to_xml(builder, document)
  build_xml(builder,document).to_xml
end