Class: BrBoleto::Calculos::FatorVencimento
- Inherits:
-
String
- Object
- String
- BrBoleto::Calculos::FatorVencimento
- Defined in:
- lib/br_boleto/calculos/fator_vencimento.rb
Instance Attribute Summary collapse
-
#base_date ⇒ Object
A base é des de quando será subtraido a data de validade.
-
#quantidade_de_caracteres ⇒ Object
Caso necessite modificar o número de caracteres de retorno.
-
#soma ⇒ Object
Caso necessite somar o resultado entre a diferença do (vencimento - data_base).
-
#subtracao ⇒ Object
Caso necessite subtratir o resultado entre a diferença do (vencimento - data_base).
Instance Method Summary collapse
-
#calculate ⇒ String
Cálculo da data de vencimento com a data base.
-
#expiration_date_minus_base_date ⇒ Integer
private
Cálculo da data de vencimento com a data base.
-
#initialize(expiration_date, options = {}) ⇒ FatorVencimento
constructor
A new instance of FatorVencimento.
Constructor Details
#initialize(expiration_date, options = {}) ⇒ FatorVencimento
Returns a new instance of FatorVencimento.
96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/br_boleto/calculos/fator_vencimento.rb', line 96 def initialize(expiration_date, ={}) @expiration_date = expiration_date self.base_date = [:base_date] self.subtracao = [:subtracao] self.soma = [:soma] self.quantidade_de_caracteres = [:quantidade_de_caracteres] if @expiration_date.present? super(calculate) end end |
Instance Attribute Details
#base_date ⇒ Object
A base é des de quando será subtraido a data de validade
51 52 53 |
# File 'lib/br_boleto/calculos/fator_vencimento.rb', line 51 def base_date @base_date end |
#quantidade_de_caracteres ⇒ Object
Caso necessite modificar o número de caracteres de retorno
90 91 92 |
# File 'lib/br_boleto/calculos/fator_vencimento.rb', line 90 def quantidade_de_caracteres @quantidade_de_caracteres end |
#soma ⇒ Object
Caso necessite somar o resultado entre a diferença do (vencimento - data_base)
84 85 86 |
# File 'lib/br_boleto/calculos/fator_vencimento.rb', line 84 def soma @soma end |
#subtracao ⇒ Object
Caso necessite subtratir o resultado entre a diferença do (vencimento - data_base)
77 78 79 |
# File 'lib/br_boleto/calculos/fator_vencimento.rb', line 77 def subtracao @subtracao end |
Instance Method Details
#calculate ⇒ String
Cálculo da data de vencimento com a data base.
114 115 116 |
# File 'lib/br_boleto/calculos/fator_vencimento.rb', line 114 def calculate expiration_date_minus_base_date.to_s.rjust(quantidade_de_caracteres, '0') end |
#expiration_date_minus_base_date ⇒ Integer
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Cálculo da data de vencimento com a data base. Chamando #to_i para não retornar um Float.
124 125 126 |
# File 'lib/br_boleto/calculos/fator_vencimento.rb', line 124 def expiration_date_minus_base_date ((@expiration_date - base_date).to_i+soma)-subtracao end |