Class: Cielo
- Inherits:
-
Object
- Object
- Cielo
- Defined in:
- lib/formatos/cielo/cielo.rb
Constant Summary collapse
- SECTION_TYPES =
{header: '00', client: "01", trailler: '99'}
- VERSAO =
"01"
Instance Method Summary collapse
-
#add_clients(params = {}) ⇒ Object
Seção Client.
-
#create_header(params = {}) ⇒ Object
Seção Header.
-
#create_trailler ⇒ Object
Seção Trailler.
- #get_header ⇒ Object
- #get_section(section) ⇒ Object
- #get_trailler ⇒ Object
- #has_section(section) ⇒ Object
-
#initialize(file = "") ⇒ Cielo
constructor
——————————————————————- ——————————————————————- Construtor.
- #is_valid? ⇒ Boolean
- #sections ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(file = "") ⇒ Cielo
Construtor
20 21 22 23 24 25 26 |
# File 'lib/formatos/cielo/cielo.rb', line 20 def initialize file = "" @sections = [] if file.size > 0 self.process_file file end end |
Instance Method Details
#add_clients(params = {}) ⇒ Object
Seção Client
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/formatos/cielo/cielo.rb', line 78 def add_clients(params = {}) self.valida_existe_header section = self.get_new_section(:client) section.set_sequencial params[:sequencial] section.set_numero_cartao params[:numero_cartao] section.set_data_venda params[:data_venda] section.set_valor_venda params[:valor] section.set_numero_lote params[:numero_lote] section.set_numero_cielo params[:numero_cielo] section.set_validade_cartao params[:validade_cartao] section.set_codigo_autorizacao section.set_opcao_venda section.numero_parcelas section.set_reservado_1 section.set_reservado_2 section.set_reservado_3 section.set_valor_parcela section.set_reservado_4 section.set_reservado_5 params[:reservado] section.set_status_venda section.set_data_liquidacao section.set_reservado_6 section.set_reservado_7 section.set_reservado_8 section.set_codigo_erro section.set_reservado_9 section.set_cartao_novo params[:cartao_novo] section.set_vencimento_novo params[:vencimento_novo] section.set_reservado_10 self.add_section_from_business section end |
#create_header(params = {}) ⇒ Object
Seção Header
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/formatos/cielo/cielo.rb', line 53 def create_header(params = {}) if self.get_header.nil? section = self.get_new_section(:header) section.set_data_deposito params[:data_deposito] section.set_numero_lote params[:numero_lote] section.set_numero_cielo params[:numero_cielo] section.set_moeda params[:moeda] section.set_reservado_1 section.set_reservado_2 section.set_reservado_3 section.set_indicador_processo section.set_indicador_venda section.set_indicador_especial self.add_section_from_business section else raise "Header já declarado!" end end |
#create_trailler ⇒ Object
Seção Trailler
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/formatos/cielo/cielo.rb', line 115 def create_trailler self.valida_existe_header if self.get_trailler.nil? if self.get_section(SECTION_TYPES[:client]).length > 0 section = self.get_new_section(:trailler) section.set_total_registros self.sections.length + 1 section.set_valor_total self.calculate_valor_total section.set_valor_aceito section.set_valor_liquido section.set_data_prevista section.set_reservado self.sections << section else raise "Nenhum valor declarado!" end else raise "Trailler já declarado!" end end |
#get_header ⇒ Object
188 189 190 |
# File 'lib/formatos/cielo/cielo.rb', line 188 def get_header self.get_section(SECTION_TYPES[:header]).first() end |
#get_section(section) ⇒ Object
176 177 178 |
# File 'lib/formatos/cielo/cielo.rb', line 176 def get_section section self.sections.select {|c| c.is_section?(section) == true } end |
#get_trailler ⇒ Object
192 193 194 |
# File 'lib/formatos/cielo/cielo.rb', line 192 def get_trailler self.get_section(SECTION_TYPES[:trailler]).first() end |
#has_section(section) ⇒ Object
172 173 174 |
# File 'lib/formatos/cielo/cielo.rb', line 172 def has_section section self.get_section(section).length > 0 end |
#is_valid? ⇒ Boolean
180 181 182 |
# File 'lib/formatos/cielo/cielo.rb', line 180 def is_valid? self.sections.select {|b| b.is_valid? == false }.length == 0 end |
#sections ⇒ Object
168 169 170 |
# File 'lib/formatos/cielo/cielo.rb', line 168 def sections @sections.to_a end |
#to_s ⇒ Object
184 185 186 |
# File 'lib/formatos/cielo/cielo.rb', line 184 def to_s self.sections.map{|a| a.to_s.concat("\r\n")}.join("") end |