class Boleto

Attributes

configuration[RW]
due_date[RW]
field1[RW]
field2[RW]
field3[RW]
field4[RW]
field5[RW]
field_dv[RW]
payment_slip[RW]
value_in_cents[RW]

Public Class Methods

new(fields = {}) click to toggle source
# File lib/BoletoIntermedium/boleto.rb, line 19
def initialize(fields = {})
  @payment_slip     = fields[:payment_slip] ? fields[:payment_slip].to_s[0..6].rjust(7, '0') : '0000000'
  @value_in_cents   = (fields[:value_in_cents] || 0).to_s[0..9].rjust(10, '0')
  @due_date         = (fields[:due_date] ? BoletoIntermedium.bank_epoque(fields[:due_date]) : BoletoIntermedium.bank_epoque(Date.today + 1.week)).to_s[0..3].rjust(4, '0')

  config = BoletoIntermedium.configuration

  self.field1 = config.bank_code + config.currency_code + config.agency + config.product + config.wallet[0]
  self.field2 = config.wallet[1] + config.system + @payment_slip
  self.field3 = config.account

  @field5 = @due_date + @value_in_cents
end

Public Instance Methods

bar_code() click to toggle source
# File lib/BoletoIntermedium/boleto.rb, line 70
def bar_code
  bar_code_without_verifier[0..3] + BoletoIntermedium.module_11(bar_code_without_verifier).to_s + bar_code_without_verifier[-39..-1]
end
bar_code_without_verifier() click to toggle source
# File lib/BoletoIntermedium/boleto.rb, line 55
def bar_code_without_verifier
  config = BoletoIntermedium.configuration

  config.bank_code +
      config.currency_code +
      due_date +
      value_in_cents +
      config.agency +
      config.product +
      config.wallet +
      config.system +
      payment_slip +
      config.account
end
digitable_line() click to toggle source
# File lib/BoletoIntermedium/boleto.rb, line 74
def digitable_line
  (@field1 || '') +
      (@field1_dv || '') +
      (@field2 || '') +
      (@field2_dv || '') +
      (@field3 || '') +
      (@field3_dv || '') +
      (@field4 || '') +
      (@field5 || '')
end
field1=(str) click to toggle source
# File lib/BoletoIntermedium/boleto.rb, line 33
def field1=(str)
  @field1 = str
  @field1_dv = BoletoIntermedium.module_10(str).to_s
  set_field_4
end
field2=(str) click to toggle source
# File lib/BoletoIntermedium/boleto.rb, line 39
def field2=(str)
  @field2 = str
  @field2_dv = BoletoIntermedium.module_10(str).to_s
  set_field_4
end
field3=(str) click to toggle source
# File lib/BoletoIntermedium/boleto.rb, line 45
def field3=(str)
  @field3 = str
  @field3_dv = BoletoIntermedium.module_10(str).to_s
  set_field_4
end
formatted_digitable_line() click to toggle source
# File lib/BoletoIntermedium/boleto.rb, line 85
def formatted_digitable_line
  digitable_line[0..4] +
      '.' + digitable_line[5..9] +
      ' ' + digitable_line[10..14] +
      '.' + digitable_line[15..20] +
      ' ' + digitable_line[21..25] +
      '.' + digitable_line[26..31] +
      ' ' + digitable_line[32] +
      ' ' + digitable_line[33..46]
end
set_field_4() click to toggle source
# File lib/BoletoIntermedium/boleto.rb, line 51
def set_field_4
  @field4 = BoletoIntermedium.module_11(bar_code_without_verifier).to_s
end