From 41efa7e9a1c85cb21427038de3db3c5428fedbc0 Mon Sep 17 00:00:00 2001 From: Marcelo Odir Date: Tue, 1 Aug 2017 17:19:35 -0300 Subject: [PATCH] =?UTF-8?q?Altera=C3=A7=C3=A3o=20para=20compatibilidade=20?= =?UTF-8?q?com=20ruby=202.4.0=20onde=20o=20Fixnum=20est=C3=A1=20sendo=20de?= =?UTF-8?q?scontinuado=20em=20favor=20do=20Integer.=20Mantem=20a=20compati?= =?UTF-8?q?bilidade=20com=20as=20vers=C3=B5es=20anteriores.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile | 2 ++ lib/cpf_utils/cpf.rb | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index cf76ba4..421f62d 100644 --- a/Gemfile +++ b/Gemfile @@ -10,5 +10,7 @@ gem 'simplecov', '~> 0.7.1', group: :test, require: nil # A Ruby implementation of the Coveralls API. gem 'coveralls', require: false +gem 'ruby-version', '~> 0.4.3' + # Specify your gem's dependencies in cpf_utils.gemspec gemspec diff --git a/lib/cpf_utils/cpf.rb b/lib/cpf_utils/cpf.rb index 3910124..756aed1 100644 --- a/lib/cpf_utils/cpf.rb +++ b/lib/cpf_utils/cpf.rb @@ -8,13 +8,23 @@ class Cpf def initialize(numbers) if numbers.is_a? String numbers = numbers.split('') - elsif numbers.is_a? Fixnum - numbers = numbers.to_s.split('') + elsif Ruby::Version < '2.4.0' + if numbers.is_a? Fixnum + numbers = split_number(numbers) + end + elsif Ruby::Version >= '2.4.0' + if numbers.is_a? Integer + numbers = split_number(numbers) + end end @numbers = numbers end + def split_number (numbers) + numbers.to_s.split('') + end + # Gera o CPF propriamente dito def generate_cpf @numbers << first_digit