Class: FE::Document::Issuer

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

Instance Attribute Summary collapse

Attributes inherited from Element

#document, #version

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Issuer

Returns a new instance of Issuer.



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

def initialize(args={})
  @name = args[:name]
  @identification_document = args[:identification_document]
  @comercial_name = args[:comercial_name]
  @location = args[:location]
  @phone = args[:phone]
  @fax = args[:fax]
  @email = args[:email]
end

Instance Attribute Details

#comercial_nameObject

Returns the value of attribute comercial_name.



11
12
13
# File 'lib/facturacr/document/issuer.rb', line 11

def comercial_name
  @comercial_name
end

#emailObject

Returns the value of attribute email.



11
12
13
# File 'lib/facturacr/document/issuer.rb', line 11

def email
  @email
end

#faxObject

Returns the value of attribute fax.



11
12
13
# File 'lib/facturacr/document/issuer.rb', line 11

def fax
  @fax
end

#identification_documentObject

Returns the value of attribute identification_document.



11
12
13
# File 'lib/facturacr/document/issuer.rb', line 11

def identification_document
  @identification_document
end

#locationObject

Returns the value of attribute location.



11
12
13
# File 'lib/facturacr/document/issuer.rb', line 11

def location
  @location
end

#nameObject

Returns the value of attribute name.



11
12
13
# File 'lib/facturacr/document/issuer.rb', line 11

def name
  @name
end

#phoneObject

Returns the value of attribute phone.



11
12
13
# File 'lib/facturacr/document/issuer.rb', line 11

def phone
  @phone
end

Instance Method Details

#build_xml(node, document) ⇒ Object

Raises:



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/facturacr/document/issuer.rb', line 36

def build_xml(node, document)
  @document = document
  raise FE::Error.new("issuer invalid",class: self.class, messages: errors.messages) unless valid?

  node = Nokogiri::XML::Builder.new if node.nil?
  node.Emisor do |xml|
    xml.Nombre @name
    identification_document.build_xml(xml,document)
    xml.NombreComercial @comercial_name if @comercial_name
    location.build_xml(xml, document)
    phone.build_xml(xml, document) if phone.present?
    fax.build_xml(xml, document) if fax.present?
    xml.CorreoElectronico @email
  end
end

#to_xml(builder, document) ⇒ Object



52
53
54
# File 'lib/facturacr/document/issuer.rb', line 52

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