business-br 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 568c119ede5784bdcc4d26d3ad9d214751ad7f13
4
- data.tar.gz: 22ad8e004032f3309336cca28685656d65a54e1d
2
+ SHA256:
3
+ metadata.gz: be968efdb00276ee6fa87fe89f2f456ee0be28608ae30b37324ffec5e21edc56
4
+ data.tar.gz: e3d4f033d70eb58cd4ec345330388eecf63a2e34065b1d97c1c189ccebbc2994
5
5
  SHA512:
6
- metadata.gz: cb70bbc0ee1e14a894a939769e6da85a86aa8c8a223491ed0e3276e76e58364dc335dcbe21dc8b2a470a11640344dc85c6c421bb79b21bb0349e89e85bdd0bd0
7
- data.tar.gz: c409118a15e535b99964d287d49b38bfea03775d58c34844c19b89813dcd5a853ab7fec68d54a9ff2780ea2184f7b31c26bb2a105ecd482ebf7f35ae5919a1d7
6
+ metadata.gz: 2487a471642a25e9a4674d07d89f95b204117aa15e47bd148bb630cd91decce6c61d8beaca71f3f1149016f40b98c75648fcf5927f9bf2fc7e52e13cc90441fa
7
+ data.tar.gz: b8dcddeaca0a6906935c5f278c8b4a9b254c489a62e6dcd634d37dca5eb65a6aa70479090fce12ad91f1ab33c33e666c960fd8d0b81f915aa7de9d462284299c
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
3
5
 
4
6
  RSpec::Core::RakeTask.new(:spec)
5
7
 
6
- task :default => :spec
8
+ task default: :spec
@@ -1,33 +1,30 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
 
5
6
  require 'business-br/version'
6
7
 
7
8
  Gem::Specification.new do |spec|
8
- spec.name = "business-br"
9
+ spec.name = 'business-br'
9
10
  spec.license = 'MIT'
10
11
  spec.version = Business::BR::VERSION
11
- spec.authors = ["Daniel Vinciguerra"]
12
- spec.email = ["daniel.vinciguerra@bivee.com.br"]
12
+ spec.authors = ['Daniel Vinciguerra']
13
+ spec.email = ['daniel.vinciguerra@bivee.com.br']
13
14
 
14
- spec.summary = %q{This project provide classes for validations and conversions to use in brazilian ruby projects.}
15
- spec.description = %q{Business::BR is a namespace to place all validations like CPF, CNPJ, CEP and some other things to be used in a brazilian ruby project.}
16
- spec.homepage = "https://github.com/dvinciguerra/business-br"
15
+ spec.summary = 'This project provide classes for validations and conversions to use in brazilian ruby projects.'
16
+ spec.description = 'Business::BR is a namespace to place all validations like CPF, CNPJ, CEP and some other things to be used in a brazilian ruby project.'
17
+ spec.homepage = 'https://github.com/dvinciguerra/business-br'
17
18
 
18
19
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
- spec.bindir = "exe"
20
- spec.require_paths = ["lib"]
20
+ spec.bindir = 'exe'
21
+ spec.require_paths = ['lib']
21
22
  spec.required_ruby_version = '>= 2.0.0'
22
23
 
23
- # secirity
24
- spec.cert_chain = ['certs/dvinciguerra.pem']
25
- spec.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $0 =~ /gem\z/
26
-
27
24
  # dependency
28
- spec.add_development_dependency "bundler", "~> 1.12"
29
- spec.add_development_dependency "rake", "~> 10.0"
30
- spec.add_development_dependency "rspec", "~> 3.0"
25
+ spec.add_development_dependency 'bundler', '~> 1.12'
26
+ spec.add_development_dependency 'rake', '~> 10.0'
27
+ spec.add_development_dependency 'rspec', '~> 3.0'
31
28
  spec.add_development_dependency 'webmock', '~> 2.1', '>= 2.1.0'
32
29
 
33
30
  spec.add_dependency 'rest-client', '~> 2.0'
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'business-br'
4
5
 
@@ -8,7 +9,6 @@ validator = Business::BR::CEP.new
8
9
  # turns from '13330-000' into '13330000'
9
10
  cep = validator.normalize(cep)
10
11
 
11
-
12
12
  # turns from '13330000' into '13330-000'
13
13
  cep = validator.format(cep)
14
14
 
@@ -18,18 +18,17 @@ cep_region = validator.region(cep) # => ['SP']
18
18
  # getting cep type
19
19
  cep_type = validator.type(cep) # => 'LOGRADOURO'
20
20
 
21
-
22
21
  # check if cep is valid
23
22
  if validator.valid? '00000asd'
24
23
  puts 'This CEP is valid'
25
- else
24
+ else
26
25
  puts 'This CEP is not valid... please try again!'
27
26
  end
28
27
 
29
28
  # getting cep information
30
- cep = Business::BR::CEP.new
29
+ cep = Business::BR::CEP.new
31
30
  if infor = cep.search_by('12345678')
32
31
  puts "CEP: #{infor}"
33
32
  else
34
- puts "NOT FOUND"
33
+ puts 'NOT FOUND'
35
34
  end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # register our paths
2
- lib_dir = File.expand_path(File.dirname(__FILE__))
4
+ lib_dir = __dir__
3
5
  $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
4
6
 
5
7
  require 'business-br/version'
@@ -1,75 +1,72 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative './cep/providers'
2
4
 
3
5
  module Business::BR
4
6
  class CEP
5
-
6
7
  @@regions = [
7
8
  ['SP'],
8
9
  ['SP'],
9
- ['RJ', 'ES'],
10
+ %w[RJ ES],
10
11
  ['MG'],
11
- ['BA', 'SE'],
12
- ['PE', 'AL', 'PB', 'RN'],
13
- ['CE', 'PI', 'MA', 'PA', 'AM', 'AC', 'AP', 'RR'],
14
- ['DF', 'GO', 'TO', 'MT', 'MG', 'RO'],
15
- ['PR', 'SC'],
16
- ['RS'],
12
+ %w[BA SE],
13
+ %w[PE AL PB RN],
14
+ %w[CE PI MA PA AM AC AP RR],
15
+ %w[DF GO TO MT MG RO],
16
+ %w[PR SC],
17
+ ['RS']
17
18
  ]
18
-
19
19
 
20
20
  def initialize(opts = {})
21
21
  @opts = opts || {}
22
22
  end
23
23
 
24
-
25
24
  def validate(cep)
26
25
  return false unless cep =~ /^\d{5}-?\d{3}$/
27
26
  return false unless cep.length == 8 || cep.length == 9
27
+
28
28
  true
29
29
  end
30
30
 
31
-
32
31
  def valid?(cep)
33
32
  validate(cep)
34
33
  end
35
34
 
36
-
37
35
  def normalize(cep)
38
- "#{$1}#{$2}" if cep =~ /^(\d{5})-?(\d{3})$/
36
+ if cep =~ /^(\d{5})-?(\d{3})$/
37
+ "#{Regexp.last_match(1)}#{Regexp.last_match(2)}"
38
+ end
39
39
  end
40
40
 
41
-
42
41
  def format(cep)
43
- "#{$1}-#{$2}" if cep =~ /^(\d{5})-?(\d{3})$/
42
+ if cep =~ /^(\d{5})-?(\d{3})$/
43
+ "#{Regexp.last_match(1)}-#{Regexp.last_match(2)}"
44
+ end
44
45
  end
45
-
46
46
 
47
47
  def region(cep)
48
- raise Exception.new('This cep is not valid') unless valid?(cep)
48
+ raise Exception, 'This cep is not valid' unless valid?(cep)
49
+
49
50
  @@regions[cep[0].to_i]
50
51
  end
51
52
 
52
-
53
53
  def type(cep)
54
54
  cep = normalize(cep)
55
55
  suffix = cep.slice(5, 3).to_i
56
- case
57
- when suffix < 900 then 'LOGRADOURO'
58
- when suffix < 960 then 'ESPECIAL'
59
- when suffix < 970 then 'PROMOCIONAIS'
60
- when suffix < 990 || suffix == 999 then 'CORREIOS'
61
- else 'CAIXAPOSTAL';
56
+ if suffix < 900 then 'LOGRADOURO'
57
+ elsif suffix < 960 then 'ESPECIAL'
58
+ elsif suffix < 970 then 'PROMOCIONAIS'
59
+ elsif suffix < 990 || suffix == 999 then 'CORREIOS'
60
+ else 'CAIXAPOSTAL'
62
61
  end
63
62
  end
64
63
 
65
- def search_by(cep, provider:'Postmon')
64
+ def search_by(cep, provider: 'Postmon')
66
65
  if cep_provider = Business::BR::CEP::Providers.get_provider(provider)
67
66
  return cep_provider.search_by(cep)
68
67
  end
68
+
69
69
  nil
70
70
  end
71
-
72
71
  end
73
72
  end
74
-
75
-
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative './providers/base'
2
4
  require_relative './providers/postmon'
3
5
  require_relative './providers/republicavirtual'
@@ -6,18 +8,16 @@ module Business
6
8
  module BR
7
9
  class CEP
8
10
  class Providers
9
-
10
11
  def self.get_provider(provider)
11
12
  return nil unless provider
13
+
12
14
  begin
13
- if provider_class = eval("Business::BR::CEP::Providers::#{provider}")
14
- return provider_class.new
15
- end
16
- rescue
17
- return nil
15
+ provider_class = Business::BR::CEP::Providers.const_get(provider)
16
+ provider_class.new if provider_class
17
+ rescue StandardError
18
+ nil
18
19
  end
19
20
  end
20
-
21
21
  end # Providers
22
22
  end # CEP
23
23
  end # BR
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rest-client'
2
4
 
3
5
  module Business
@@ -8,24 +10,24 @@ module Business
8
10
  attr_accessor :zipcode
9
11
 
10
12
  protected
11
- # response entity
12
- def create_entity(json, extract:{})
13
- json = json.class == String ? decode_json(json) : json
14
13
 
15
- # getting informations
16
- extracted = Hash.new
17
- extract.each do |key, value|
18
- extracted[key] = (value.class == Symbol ? json[value] : value)
19
- end
14
+ # response entity
15
+ def create_entity(json, extract: {})
16
+ json = json.class == String ? decode_json(json) : json
20
17
 
21
- extracted
18
+ # getting informations
19
+ extracted = {}
20
+ extract.each do |key, value|
21
+ extracted[key] = (value.class == Symbol ? json[value] : value)
22
22
  end
23
23
 
24
- # decode json
25
- def decode_json(str)
26
- JSON.parse(str, symbolize_names: true)
27
- end
24
+ extracted
25
+ end
28
26
 
27
+ # decode json
28
+ def decode_json(str)
29
+ JSON.parse(str, symbolize_names: true)
30
+ end
29
31
  end
30
32
  end # Providers
31
33
  end # CEP
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
 
3
5
  module Business
@@ -5,34 +7,33 @@ module Business
5
7
  class CEP
6
8
  class Providers
7
9
  class Postmon < Base
8
-
9
10
  def search_by(cep)
10
11
  @zipcode = cep
11
12
  begin
12
- response = RestClient.get "http://api.postmon.com.br/v1/cep/#{@zipcode}"
13
- return parse_response(response.body)
13
+ response = RestClient.get "http://api.postmon.com.br/v1/cep/#{@zipcode}"
14
+ parse_response(response.body)
14
15
  rescue RestClient::ExceptionWithResponse => e
15
16
  puts e.response if ENV['BUSINESS-BR_DEBUG']
16
- return nil
17
+ nil
17
18
  end
18
19
  end
19
20
 
20
21
  private
21
- def parse_response(response)
22
- json = JSON.parse(response, symbolize_names: true)
23
- create_entity(
24
- json, extract: {
25
- zipcode: :cep,
26
- street: :logradouro,
27
- complement: :complemento,
28
- neighborhood: :bairro,
29
- city: :cidade,
30
- state: "#{json[:estado_info][:nome]}",
31
- uf: :estado
32
- }
33
- )
34
- end
35
22
 
23
+ def parse_response(response)
24
+ json = JSON.parse(response, symbolize_names: true)
25
+ create_entity(
26
+ json, extract: {
27
+ zipcode: :cep,
28
+ street: :logradouro,
29
+ complement: :complemento,
30
+ neighborhood: :bairro,
31
+ city: :cidade,
32
+ state: (json[:estado_info][:nome]).to_s,
33
+ uf: :estado
34
+ }
35
+ )
36
+ end
36
37
  end
37
38
  end # Providers
38
39
  end # CEP
@@ -1,10 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Business
2
4
  module BR
3
5
  class CEP
4
6
  class Providers
5
7
  class RepublicaVirtual < Base
6
-
7
-
8
8
  def search_by(cep)
9
9
  @zipcode = cep
10
10
  response = RestClient.get "http://cep.republicavirtual.com.br/web_cep.php?cep=#{@zipcode}&formato=json"
@@ -12,21 +12,21 @@ module Business
12
12
  end
13
13
 
14
14
  private
15
- def parse_response(response)
16
- json = decode_json(response)
17
- create_entity(
18
- json, extract: {
19
- zipcode: @zipcode,
20
- street: "#{json[:tipo_logradouro]} #{json[:logradouro]}",
21
- complement: "",
22
- neighborhood: :bairro,
23
- city: :cidade,
24
- state: :uf,
25
- uf: :uf
26
- }
27
- )
28
- end
29
15
 
16
+ def parse_response(response)
17
+ json = decode_json(response)
18
+ create_entity(
19
+ json, extract: {
20
+ zipcode: @zipcode,
21
+ street: "#{json[:tipo_logradouro]} #{json[:logradouro]}",
22
+ complement: '',
23
+ neighborhood: :bairro,
24
+ city: :cidade,
25
+ state: :uf,
26
+ uf: :uf
27
+ }
28
+ )
29
+ end
30
30
  end
31
31
  end # Providers
32
32
  end # CEP
@@ -1,23 +1,24 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Business::BR
2
4
  class CNPJ
3
-
4
5
  def validate(cnpj)
5
6
  return false unless cnpj
6
7
  return false unless cnpj.length == 14 || cnpj.length == 18
7
- return false unless cnpj =~ /^\d{2}\.?\d{3}\.?\d{3}\/?\d{4}-?\d{2}$/
8
+ return false unless cnpj =~ %r{^\d{2}\.?\d{3}\.?\d{3}/?\d{4}-?\d{2}$}
8
9
 
9
10
  cnpj = normalize(cnpj)
10
- numbers = [6,5,4,3,2,9,8,7,6,5,4,3,2]
11
+ numbers = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
11
12
 
12
13
  first_num = 0
13
14
  second_num = 0
14
15
 
15
16
  12.times do |i|
16
- first_num += numbers[i+1] * cnpj[i].to_i
17
+ first_num += numbers[i + 1] * cnpj[i].to_i
17
18
  end
18
19
 
19
20
  13.times do |i|
20
- second_num += numbers[i] * cnpj[i].to_i
21
+ second_num += numbers[i] * cnpj[i].to_i
21
22
  end
22
23
 
23
24
  first_num %= 11
@@ -26,20 +27,21 @@ module Business::BR
26
27
  second_num %= 11
27
28
  second_num = second_num < 2 ? 0 : (11 - second_num) == 10 ? 1 : (11 - second_num)
28
29
 
29
- return false unless "#{first_num}#{second_num}" == cnpj[12..13]
30
+ return false unless cnpj[12..13] == "#{first_num}#{second_num}"
30
31
 
31
32
  true
32
33
  end
33
34
 
34
-
35
35
  def normalize(cnpj)
36
- "#{$1}#{$2}#{$3}#{$4}#{$5}" if cnpj =~ /^(\d{2})\.?(\d{3})\.?(\d{3})\/?(\d{4})-?(\d{2})$/
36
+ if cnpj =~ %r{^(\d{2})\.?(\d{3})\.?(\d{3})/?(\d{4})-?(\d{2})$}
37
+ "#{Regexp.last_match(1)}#{Regexp.last_match(2)}#{Regexp.last_match(3)}#{Regexp.last_match(4)}#{Regexp.last_match(5)}"
38
+ end
37
39
  end
38
40
 
39
-
40
41
  def format(cnpj)
41
- "#{$1}.#{$2}.#{$3}/#{$4}-#{$5}" if cnpj =~ /^(\d{2})\.?(\d{3})\.?(\d{3})\/?(\d{4})-?(\d{2})$/
42
+ if cnpj =~ %r{^(\d{2})\.?(\d{3})\.?(\d{3})/?(\d{4})-?(\d{2})$}
43
+ "#{Regexp.last_match(1)}.#{Regexp.last_match(2)}.#{Regexp.last_match(3)}/#{Regexp.last_match(4)}-#{Regexp.last_match(5)}"
44
+ end
42
45
  end
43
-
44
46
  end
45
47
  end
@@ -1,16 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Business::BR
2
4
  class CPF
3
-
4
5
  @@black_list = %w[
5
- 00000000000
6
- 11111111111
7
- 22222222222
8
- 33333333333
9
- 44444444444
10
- 55555555555
11
- 66666666666
12
- 77777777777
13
- 88888888888
6
+ 00000000000
7
+ 11111111111
8
+ 22222222222
9
+ 33333333333
10
+ 44444444444
11
+ 55555555555
12
+ 66666666666
13
+ 77777777777
14
+ 88888888888
14
15
  99999999999
15
16
  ]
16
17
 
@@ -20,12 +21,12 @@ module Business::BR
20
21
  return false unless cpf =~ /^\d{3}\.?\d{3}\.?\d{3}-?\d{2}$/
21
22
 
22
23
  cpf = normalize(cpf)
23
- return false unless not @@black_list.include? cpf
24
+ return false if @@black_list.include? cpf
24
25
 
25
26
  first_num = 0
26
27
  second_num = 0
27
28
 
28
- 9.times do |i|
29
+ 9.times do |i|
29
30
  first_num += (10 - i) * cpf[i].to_i
30
31
  end
31
32
 
@@ -39,20 +40,21 @@ module Business::BR
39
40
  second_num = (second_num * 10) % 11
40
41
  second_num = 0 if second_num == 10
41
42
 
42
- return false unless "#{first_num}#{second_num}" == cpf[9..10]
43
+ return false unless cpf[9..10] == "#{first_num}#{second_num}"
43
44
 
44
45
  true
45
46
  end
46
47
 
47
-
48
48
  def normalize(cpf)
49
- "#{$1}#{$2}#{$3}#{$4}" if cpf =~ /^(\d{3})\.?(\d{3})\.?(\d{3})-?(\d{2})$/
49
+ if cpf =~ /^(\d{3})\.?(\d{3})\.?(\d{3})-?(\d{2})$/
50
+ "#{Regexp.last_match(1)}#{Regexp.last_match(2)}#{Regexp.last_match(3)}#{Regexp.last_match(4)}"
51
+ end
50
52
  end
51
53
 
52
-
53
54
  def format(cpf)
54
- "#{$1}.#{$2}.#{$3}-#{$4}" if cpf =~ /^(\d{3})\.?(\d{3})\.?(\d{3})-?(\d{2})$/
55
+ if cpf =~ /^(\d{3})\.?(\d{3})\.?(\d{3})-?(\d{2})$/
56
+ "#{Regexp.last_match(1)}.#{Regexp.last_match(2)}.#{Regexp.last_match(3)}-#{Regexp.last_match(4)}"
57
+ end
55
58
  end
56
-
57
59
  end
58
60
  end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Business
2
4
  module BR
3
- VERSION = "0.8.0"
5
+ VERSION = '0.10.0'
4
6
  end
5
7
  end
metadata CHANGED
@@ -1,38 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: business-br
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Vinciguerra
8
8
  autorequire:
9
9
  bindir: exe
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDyDCCArCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBdMRswGQYDVQQDDBJkYW5p
14
- ZWwudmluY2lndWVycmExFTATBgoJkiaJk/IsZAEZFgViaXZlZTETMBEGCgmSJomT
15
- 8ixkARkWA2NvbTESMBAGCgmSJomT8ixkARkWAmJyMB4XDTE2MTEyMzE4MzM1NloX
16
- DTE3MTEyMzE4MzM1NlowXTEbMBkGA1UEAwwSZGFuaWVsLnZpbmNpZ3VlcnJhMRUw
17
- EwYKCZImiZPyLGQBGRYFYml2ZWUxEzARBgoJkiaJk/IsZAEZFgNjb20xEjAQBgoJ
18
- kiaJk/IsZAEZFgJicjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOMt
19
- U5fmAykQFjl3S7tqIzMUeHkFT5jACDbYRTmo5lTVFapjKelf7xOrAfmEuPyywXIi
20
- uePaImcfWxUF6zz0VOjcBcmvIzEo1T+w9u8J2Mq7uNyIL5Cbg1cRoh4dxknklowv
21
- mGY/NPm4GD+Sm+gwmhXw7nDFQNhxBF1LtsZjv79Tc3gTAGyayN6sfCwtvp3gAluy
22
- 1+GRj9EyO5moR5nhagDx7e1P2GO7wwXsKjSD+Azzlk908lwdeasKvw+d/JFzGmxh
23
- S5lyGEzc99bFwsn07rTh+x2lKBZnlGwdOKEA0zcX+blhGULcO7Q4p7QvHUtPFh02
24
- kseIkpKdAX/iK+HTl+8CAwEAAaOBkjCBjzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE
25
- sDAdBgNVHQ4EFgQUDK0j20TQf2JavxEol3uqYPJd0VMwKgYDVR0RBCMwIYEfZGFu
26
- aWVsLnZpbmNpZ3VlcnJhQGJpdmVlLmNvbS5icjAqBgNVHRIEIzAhgR9kYW5pZWwu
27
- dmluY2lndWVycmFAYml2ZWUuY29tLmJyMA0GCSqGSIb3DQEBBQUAA4IBAQC5w9TB
28
- hYsuhssatjtNdiUzfVTvYqiVVLxeD5kCLDO4OhSRw4Ib2aR6qncETgVJOak0tJ2y
29
- v93JMpJVF8qWeC30IqCuAIoyFPdPXZWZPI489WUBg62qZEiQrIx1n3id2Ax20Yp6
30
- yRdKomE9XulDDvKSTNyahW5a8uW020EQdFwUvJRJDnKyZmRvOXNgz4OTkcJLklhj
31
- CmHhTfuGALBs6mmvBr1D+l4mA48E9HDV5jl0vKDnB4ewBefj/GsxcQND8B+W2DDU
32
- diaADa2ZCuoGQuZU33vnJTmu7oy7ZUGOgo7qmoUAYbsn1x5la4sWQ6WHlH/UHDKJ
33
- 2N5QQXzs6+3RwTLN
34
- -----END CERTIFICATE-----
35
- date: 2017-01-19 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2020-02-14 00:00:00.000000000 Z
36
12
  dependencies:
37
13
  - !ruby/object:Gem::Dependency
38
14
  name: bundler
@@ -125,7 +101,6 @@ files:
125
101
  - README.md
126
102
  - Rakefile
127
103
  - business-br.gemspec
128
- - certs/dvinciguerra.pem
129
104
  - examples/cep.rb
130
105
  - lib/business-br.rb
131
106
  - lib/business-br/cep.rb
@@ -156,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
131
  version: '0'
157
132
  requirements: []
158
133
  rubyforge_project:
159
- rubygems_version: 2.5.1
134
+ rubygems_version: 2.7.6
160
135
  signing_key:
161
136
  specification_version: 4
162
137
  summary: This project provide classes for validations and conversions to use in brazilian
@@ -1,2 +0,0 @@
1
- �ͩ �;��%ڠ���Dž>\�t�u>c- �c�9 �R�+��΃�=�5���W��:�bH\>�y�9�!�d��UR����$�t;�g�G7�G?h#�g>�w�������udN�rp#m]ޙ��WS#)��gʋ�Mp�l�%Ӗ��>���W�S$�c6��6=^G������FQ�Y���r;?�I�|��[�D����2�Im��~�N?��H�PT��L�;�Qgr��!�9ήD�N�(̭�b�
2
- ��� �9`c�NF�]���9
data.tar.gz.sig DELETED
Binary file
@@ -1,23 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDyDCCArCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBdMRswGQYDVQQDDBJkYW5p
3
- ZWwudmluY2lndWVycmExFTATBgoJkiaJk/IsZAEZFgViaXZlZTETMBEGCgmSJomT
4
- 8ixkARkWA2NvbTESMBAGCgmSJomT8ixkARkWAmJyMB4XDTE2MTEyMzE4MzM1NloX
5
- DTE3MTEyMzE4MzM1NlowXTEbMBkGA1UEAwwSZGFuaWVsLnZpbmNpZ3VlcnJhMRUw
6
- EwYKCZImiZPyLGQBGRYFYml2ZWUxEzARBgoJkiaJk/IsZAEZFgNjb20xEjAQBgoJ
7
- kiaJk/IsZAEZFgJicjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOMt
8
- U5fmAykQFjl3S7tqIzMUeHkFT5jACDbYRTmo5lTVFapjKelf7xOrAfmEuPyywXIi
9
- uePaImcfWxUF6zz0VOjcBcmvIzEo1T+w9u8J2Mq7uNyIL5Cbg1cRoh4dxknklowv
10
- mGY/NPm4GD+Sm+gwmhXw7nDFQNhxBF1LtsZjv79Tc3gTAGyayN6sfCwtvp3gAluy
11
- 1+GRj9EyO5moR5nhagDx7e1P2GO7wwXsKjSD+Azzlk908lwdeasKvw+d/JFzGmxh
12
- S5lyGEzc99bFwsn07rTh+x2lKBZnlGwdOKEA0zcX+blhGULcO7Q4p7QvHUtPFh02
13
- kseIkpKdAX/iK+HTl+8CAwEAAaOBkjCBjzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE
14
- sDAdBgNVHQ4EFgQUDK0j20TQf2JavxEol3uqYPJd0VMwKgYDVR0RBCMwIYEfZGFu
15
- aWVsLnZpbmNpZ3VlcnJhQGJpdmVlLmNvbS5icjAqBgNVHRIEIzAhgR9kYW5pZWwu
16
- dmluY2lndWVycmFAYml2ZWUuY29tLmJyMA0GCSqGSIb3DQEBBQUAA4IBAQC5w9TB
17
- hYsuhssatjtNdiUzfVTvYqiVVLxeD5kCLDO4OhSRw4Ib2aR6qncETgVJOak0tJ2y
18
- v93JMpJVF8qWeC30IqCuAIoyFPdPXZWZPI489WUBg62qZEiQrIx1n3id2Ax20Yp6
19
- yRdKomE9XulDDvKSTNyahW5a8uW020EQdFwUvJRJDnKyZmRvOXNgz4OTkcJLklhj
20
- CmHhTfuGALBs6mmvBr1D+l4mA48E9HDV5jl0vKDnB4ewBefj/GsxcQND8B+W2DDU
21
- diaADa2ZCuoGQuZU33vnJTmu7oy7ZUGOgo7qmoUAYbsn1x5la4sWQ6WHlH/UHDKJ
22
- 2N5QQXzs6+3RwTLN
23
- -----END CERTIFICATE-----
metadata.gz.sig DELETED
@@ -1,2 +0,0 @@
1
- ��o̬g_��:�7GD$��䍨m|�el$�pp���j��)ɰL�:�)��:b�
2
- �?-E�V��q]�쯀F�&�?�������y��� �{B�,�è�ۘ�1⻄�M����pi^�+�{qт�'�=��~�]�d��ٵ���Zs���;���� /�i&�l�F<Mb%<�g�HF���<_J�3�b=�:�i��<S�