Skip to content

Commit

Permalink
rubocop fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
kivanio committed Sep 30, 2014
1 parent e19f5b7 commit 358359b
Show file tree
Hide file tree
Showing 42 changed files with 1,706 additions and 1,751 deletions.
1 change: 0 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ gemspec
gem 'codeclimate-test-reporter', group: :test, require: nil
gem 'coveralls', require: false


gem 'pry', '~> 0.10.0'
gem 'rspec', '~> 3.1.0'
gem 'rake', '~> 10.3.2'
Expand Down
4 changes: 2 additions & 2 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
require "bundler/gem_tasks"
require 'bundler/gem_tasks'
require 'rspec/core/rake_task'

RSpec::Core::RakeTask.new(:spec)

task :default => :spec
task default: :spec
22 changes: 11 additions & 11 deletions brcobranca.gemspec
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
# -*- encoding: utf-8 -*-
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require "brcobranca/version"
require 'brcobranca/version'

Gem::Specification.new do |gem|
gem.name = "brcobranca"
gem.name = 'brcobranca'
gem.version = Brcobranca::VERSION
gem.platform = Gem::Platform::RUBY
gem.authors = ["Kivanio Barbosa"]
gem.date = %q{2013-06-17}
gem.description = %q{Gem para emissão de bloquetos de cobrança de bancos brasileiros.}
gem.summary = %q{Gem que permite trabalhar com bloquetos de cobrança para bancos brasileiros.}
gem.email = %q{kivanio@gmail.com}
gem.homepage = %q{http://rubygems.org/gems/brcobranca}
gem.authors = ['Kivanio Barbosa']
gem.date = '2013-06-17'
gem.description = 'Gem para emissão de bloquetos de cobrança de bancos brasileiros.'
gem.summary = 'Gem que permite trabalhar com bloquetos de cobrança para bancos brasileiros.'
gem.email = 'kivanio@gmail.com'
gem.homepage = 'http://rubygems.org/gems/brcobranca'

gem.files = `git ls-files`.split($/)
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
gem.require_paths = ['lib']

gem.requirements = ["GhostScript > 9.0, para gear PDF e código de Barras"]
gem.requirements = ['GhostScript > 9.0, para gear PDF e código de Barras']

# Gems that must be intalled for sift to work
gem.add_dependency 'rghost', '0.9.5'
Expand Down
7 changes: 2 additions & 5 deletions lib/brcobranca.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*- encoding: utf-8 -*-
$:.push File.join(File.dirname(__FILE__))
$LOAD_PATH.push File.join(File.dirname(__FILE__))
require 'brcobranca/calculo'
require 'brcobranca/limpeza'
require 'brcobranca/formatacao'
Expand All @@ -18,11 +18,10 @@
require 'active_model'
rescue LoadError
require 'rubygems' unless ENV['NO_RUBYGEMS']
gem 'active_model', ">= 3.0.0"
gem 'active_model', '>= 3.0.0'
require 'active_model'
end


module Brcobranca
# Exception lançada quando algum tipo de boleto soicitado ainda não tiver sido implementado.
class NaoImplementado < NotImplementedError
Expand All @@ -34,7 +33,6 @@ class NaoImplementado < NotImplementedError
# rescue Brcobranca::BoletoInvalido => invalido
# puts invalido.errors
class BoletoInvalido < StandardError

# Atribui o objeto boleto e pega seus erros de validação
def initialize(boleto)
errors = boleto.errors.full_messages.join(', ')
Expand Down Expand Up @@ -120,4 +118,3 @@ module Retorno
autoload :RetornoCnab400, 'brcobranca/retorno/retorno_cnab400'
end
end

56 changes: 27 additions & 29 deletions lib/brcobranca/boleto/banco_brasil.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@
module Brcobranca
module Boleto
class BancoBrasil < Base # Banco do Brasil

validates_length_of :agencia, :maximum => 4, :message => "deve ser menor ou igual a 4 dígitos."
validates_length_of :conta_corrente, :maximum => 8, :message => "deve ser menor ou igual a 8 dígitos."
validates_length_of :carteira, :maximum => 2, :message => "deve ser menor ou igual a 2 dígitos."
validates_length_of :convenio, :in => 4..8, :message => "não existente para este banco."
validates_length_of :agencia, maximum: 4, message: 'deve ser menor ou igual a 4 dígitos.'
validates_length_of :conta_corrente, maximum: 8, message: 'deve ser menor ou igual a 8 dígitos.'
validates_length_of :carteira, maximum: 2, message: 'deve ser menor ou igual a 2 dígitos.'
validates_length_of :convenio, in: 4..8, message: 'não existente para este banco.'

validates_each :numero_documento do |record, attr, value|
valor_tamanho = value.to_s.size
Expand All @@ -30,49 +29,49 @@ class BancoBrasil < Base # Banco do Brasil

# Nova instancia do BancoBrasil
# @param (see Brcobranca::Boleto::Base#initialize)
def initialize(campos={})
campos = {:carteira => "18", :codigo_servico => false}.merge!(campos)
def initialize(campos = {})
campos = { carteira: '18', codigo_servico: false }.merge!(campos)
super(campos)
end

# Codigo do banco emissor (3 dígitos sempre)
#
# @return [String] 3 caracteres numéricos.
def banco
"001"
'001'
end

# Carteira
#
# @return [String] 2 caracteres numéricos.
def carteira=(valor)
@carteira = valor.to_s.rjust(2,'0') if valor
@carteira = valor.to_s.rjust(2, '0') if valor
end

# Dígito verificador do banco
#
# @return [String] 1 caracteres numéricos.
def banco_dv
self.banco.modulo11_9to2_10_como_x
banco.modulo11_9to2_10_como_x
end

# Retorna dígito verificador da agência
#
# @return [String] 1 caracteres numéricos.
def agencia_dv
self.agencia.modulo11_9to2_10_como_x
agencia.modulo11_9to2_10_como_x
end

# Conta corrente
# @return [String] 8 caracteres numéricos.
def conta_corrente=(valor)
@conta_corrente = valor.to_s.rjust(8,'0') if valor
@conta_corrente = valor.to_s.rjust(8, '0') if valor
end

# Dígito verificador da conta corrente
# @return [String] 1 caracteres numéricos.
def conta_corrente_dv
self.conta_corrente.modulo11_9to2_10_como_x
conta_corrente.modulo11_9to2_10_como_x
end

# Número seqüencial utilizado para identificar o boleto.
Expand Down Expand Up @@ -103,59 +102,58 @@ def numero_documento
when 4
7
when 6
self.codigo_servico ? 17 : 5
codigo_servico ? 17 : 5
else
raise Brcobranca::NaoImplementado.new("Tipo de convênio não implementado.")
fail Brcobranca::NaoImplementado.new('Tipo de convênio não implementado.')
end
quantidade ? @numero_documento.to_s.rjust(quantidade,'0') : @numero_documento
quantidade ? @numero_documento.to_s.rjust(quantidade, '0') : @numero_documento
end

# Dígito verificador do nosso número.
# @return [String] 1 caracteres numéricos.
# @see BancoBrasil#numero_documento
def nosso_numero_dv
"#{self.convenio}#{self.numero_documento}".modulo11_9to2_10_como_x
"#{convenio}#{numero_documento}".modulo11_9to2_10_como_x
end

# Nosso número para exibir no boleto.
# @return [String]
# @example
# boleto.nosso_numero_boleto #=> "12387989000004042-4"
def nosso_numero_boleto
"#{self.convenio}#{self.numero_documento}-#{self.nosso_numero_dv}"
"#{convenio}#{numero_documento}-#{nosso_numero_dv}"
end

# Agência + conta corrente do cliente para exibir no boleto.
# @return [String]
# @example
# boleto.agencia_conta_boleto #=> "0548-7 / 00001448-6"
def agencia_conta_boleto
"#{self.agencia}-#{self.agencia_dv} / #{self.conta_corrente}-#{self.conta_corrente_dv}"
"#{agencia}-#{agencia_dv} / #{conta_corrente}-#{conta_corrente_dv}"
end

# Segunda parte do código de barras.
# A montagem é feita baseada na quantidade de dígitos do convênio.
# @return [String] 25 caracteres numéricos.
def codigo_barras_segunda_parte
case self.convenio.to_s.size
case convenio.to_s.size
when 8 # Nosso Número de 17 dígitos com Convenio de 8 dígitos e numero_documento de 9 dígitos
"000000#{self.convenio}#{self.numero_documento}#{self.carteira}"
"000000#{convenio}#{numero_documento}#{carteira}"
when 7 # Nosso Número de 17 dígitos com Convenio de 7 dígitos e numero_documento de 10 dígitos
"000000#{self.convenio}#{self.numero_documento}#{self.carteira}"
"000000#{convenio}#{numero_documento}#{carteira}"
when 6 # Convenio de 6 dígitos
if self.codigo_servico == false
if codigo_servico == false
# Nosso Número de 11 dígitos com Convenio de 6 dígitos e numero_documento de 5 dígitos
"#{self.convenio}#{self.numero_documento}#{self.agencia}#{self.conta_corrente}#{self.carteira}"
"#{convenio}#{numero_documento}#{agencia}#{conta_corrente}#{carteira}"
else
# Nosso Número de 17 dígitos com Convenio de 6 dígitos e sem numero_documento, carteira 16 e 18
raise "Só é permitido emitir boletos com nosso número de 17 dígitos com carteiras 16 ou 18. Sua carteira atual é #{self.carteira}" unless (["16","18"].include?(self.carteira))
"#{self.convenio}#{self.numero_documento}21"
fail "Só é permitido emitir boletos com nosso número de 17 dígitos com carteiras 16 ou 18. Sua carteira atual é #{carteira}" unless %w(16 18).include?(carteira)
"#{convenio}#{numero_documento}21"
end
when 4 # Nosso Número de 7 dígitos com Convenio de 4 dígitos e sem numero_documento
"#{self.convenio}#{self.numero_documento}#{self.agencia}#{self.conta_corrente}#{self.carteira}"
"#{convenio}#{numero_documento}#{agencia}#{conta_corrente}#{carteira}"
end
end

end
end
end
end
Loading

0 comments on commit 358359b

Please sign in to comment.