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
23
24
25
26
# 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
    if @raw_id_number.is_a?(String)
      @id_number = @raw_id_number.rjust(12,"0")
    else
      @id_number = "%012d" % @raw_id_number
    end
  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:



28
29
30
31
32
33
34
35
# File 'lib/facturacr/document/identification_document.rb', line 28

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



36
37
38
# File 'lib/facturacr/document/identification_document.rb', line 36

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