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.



19
20
21
22
23
24
25
# File 'lib/facturacr/document/identification_document.rb', line 19

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

Instance Attribute Details

#document_typeObject

Returns the value of attribute document_type.



14
15
16
# File 'lib/facturacr/document/identification_document.rb', line 14

def document_type
  @document_type
end

#id_numberObject

Returns the value of attribute id_number.



14
15
16
# File 'lib/facturacr/document/identification_document.rb', line 14

def id_number
  @id_number
end

#raw_id_numberObject

Returns the value of attribute raw_id_number.



14
15
16
# File 'lib/facturacr/document/identification_document.rb', line 14

def raw_id_number
  @raw_id_number
end

Instance Method Details

#build_xml(node) ⇒ Object



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

def build_xml(node)
  raise "Invalid Record: #{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) ⇒ Object



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

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