br_danfe 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 020747659bc373a796e74e5a10933a74a9f45b6d
4
- data.tar.gz: ae11def5625f8fef1862e7098d4854979c3f6e9b
3
+ metadata.gz: 24eba63681a40040bfa5b2ef632cd029891fe384
4
+ data.tar.gz: b9ac26036d59bf03232df57c590a82bb2cb404b8
5
5
  SHA512:
6
- metadata.gz: d2496b9f7bc5a77e72f3151cc91bb2ed628f348a55ae501b121a1747b8ea60f445a370c17575a0094e2cb14848618f9d4ee99d0353c5fdbbda20b302c7e42a75
7
- data.tar.gz: 9069fa0a81380ae5d2db266128e29f43ceaede10cdca8e80343207fe6c59bb8e5e1e810a676295f744c2bb9f0a5372af392d3809951eaf09e2c064144b0102ae
6
+ metadata.gz: 710fd0835151a2b5acb85c1a947eacdbea635211b3845fb3c463a00bf38475b826dbe60217816e6879614dc3589a42771b5c4e0a1d04a176db769669b4cc7938
7
+ data.tar.gz: b7ed4f47d1b50814dabe29244c0210a133a50e23b8ff05672207868033404f1acdf0f6ccbc3ac62b0717a62d9c9bf411870e356b7ba69f938c2575dd94f6fb0d
data/README.md CHANGED
@@ -12,12 +12,27 @@ This gem requires `ruby >= 1.9.x`.
12
12
 
13
13
  ## Usage
14
14
 
15
+ ### Usage in Ruby
16
+
15
17
  xml = File.read("nfe.xml")
16
18
 
17
19
  danfe = BrDanfe::Danfe.new(xml)
18
20
  danfe.options.logo_path = "logo.png"
19
21
  danfe.save_pdf("nfe.pdf")
20
22
 
23
+ ### Usage in Rails Controller
24
+
25
+ class DanfeController < ApplicationController
26
+ def new
27
+ invoice = Invoice.find(params[:id])
28
+ xml_as_string = invoice.generate_xml # your method that generates the NF-e's xml
29
+
30
+ danfe = BrDanfe::Danfe.new(xml_as_string)
31
+
32
+ send_data danfe.render_pdf, filename: "danfe.pdf", type: "application/pdf"
33
+ end
34
+ end
35
+
21
36
  ## I18n
22
37
 
23
38
  By default, your rails application must be configured to `pt-Br`.
data/br_danfe.gemspec CHANGED
@@ -17,12 +17,12 @@ Gem::Specification.new do |spec|
17
17
  spec.require_paths = ["lib"]
18
18
 
19
19
  spec.add_dependency "nokogiri"
20
- spec.add_dependency "prawn"
21
- spec.add_dependency "barby"
20
+ spec.add_dependency "prawn", "1.0.0"
21
+ spec.add_dependency "barby", "0.5.1"
22
22
  spec.add_dependency "i18n"
23
+ spec.add_dependency "br_documents", ">= 0.0.8"
23
24
 
24
- spec.add_development_dependency "pry"
25
- spec.add_development_dependency "rspec"
26
- spec.add_development_dependency "simplecov"
25
+ spec.add_development_dependency "rspec", ">= 3.0.0"
26
+ spec.add_development_dependency "simplecov", ">= 0.9.0"
27
27
  spec.add_development_dependency "codeclimate-test-reporter"
28
28
  end
data/lib/br_danfe.rb CHANGED
@@ -7,6 +7,7 @@ require "nokogiri"
7
7
  require "yaml"
8
8
  require "ostruct"
9
9
  require "i18n"
10
+ require "br_documents"
10
11
 
11
12
  Dir[File.dirname(__FILE__) + "/**/*.rb"].each { |f| require f }
12
13
  I18n.load_path << File.expand_path("../../config/locales/pt-BR.yml", __FILE__)
@@ -15,6 +15,11 @@ module BrDanfe
15
15
  @pdf.render_file filename
16
16
  end
17
17
 
18
+ def render_pdf
19
+ generate
20
+ @pdf.render
21
+ end
22
+
18
23
  private
19
24
  def create_watermark
20
25
  @pdf.create_stamp("has_no_fiscal_value") do
data/lib/br_danfe/dest.rb CHANGED
@@ -29,11 +29,13 @@ module BrDanfe
29
29
  end
30
30
 
31
31
  def cnpj
32
- Cnpj.format(@xml["dest/CNPJ"])
32
+ cnpj = BrDocuments::CnpjCpf::Cnpj.new(@xml["dest/CNPJ"])
33
+ cnpj.formatted
33
34
  end
34
35
 
35
36
  def cpf
36
- Cpf.format(@xml["dest/CPF"])
37
+ cpf = BrDocuments::CnpjCpf::Cpf.new(@xml["dest/CPF"])
38
+ cpf.formatted
37
39
  end
38
40
 
39
41
  def render_line2
@@ -64,7 +66,8 @@ module BrDanfe
64
66
  end
65
67
 
66
68
  def ie
67
- Ie.format(@xml["dest/IE"], @xml["enderDest/UF"])
69
+ ie = BrDocuments::IE::Factory.create(@xml["enderDest/UF"], @xml["dest/IE"])
70
+ ie.formatted
68
71
  end
69
72
  end
70
73
  end
data/lib/br_danfe/emit.rb CHANGED
@@ -99,11 +99,13 @@ module BrDanfe
99
99
  end
100
100
 
101
101
  def ie(x, field)
102
- @pdf.ibox 0.85, 6.86, x, 7.31, I18n.t("danfe.emit.#{field}"), Ie.format(@xml["emit/#{field}"], @xml["enderEmit/UF"])
102
+ ie = BrDocuments::IE::Factory.create(@xml["enderEmit/UF"], @xml["emit/#{field}"])
103
+ @pdf.ibox 0.85, 6.86, x, 7.31, I18n.t("danfe.emit.#{field}"), ie.formatted
103
104
  end
104
105
 
105
106
  def cnpj_box
106
- @pdf.ibox 0.85, 6.84, 13.97, 7.31, I18n.t("danfe.emit.CNPJ"), Cnpj.format(@xml["emit/CNPJ"])
107
+ cnpj = BrDocuments::CnpjCpf::Cnpj.new(@xml["emit/CNPJ"])
108
+ @pdf.ibox 0.85, 6.84, 13.97, 7.31, I18n.t("danfe.emit.CNPJ"), cnpj.formatted
107
109
  end
108
110
  end
109
111
  end
@@ -1,3 +1,3 @@
1
1
  module BrDanfe
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -4,69 +4,130 @@ describe "BrDanfe generated pdf files" do
4
4
  let(:base_dir) { "./spec/fixtures/"}
5
5
  let(:output_pdf) { "#{base_dir}output.pdf" }
6
6
 
7
- before { File.delete(output_pdf) if File.exist?(output_pdf) }
7
+ describe "#render_pdf" do
8
+ it "renders a basic NF-e with namespace" do
9
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_ns.xml"))
8
10
 
9
- it "renders a basic NF-e with namespace" do
10
- expect(File.exist?(output_pdf)).to be_false
11
+ expected = IO.binread("#{base_dir}nfe_with_ns.xml.fixture.pdf")
11
12
 
12
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_ns.xml"))
13
- danfe.save_pdf output_pdf
13
+ expect(danfe.render_pdf).to eq expected
14
+ end
14
15
 
15
- expect("#{base_dir}nfe_with_ns.xml.fixture.pdf").to be_same_file_as(output_pdf)
16
- end
16
+ it "renders another basic NF-e without namespace" do
17
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_without_ns.xml"))
17
18
 
18
- it "renders another basic NF-e without namespace" do
19
- expect(File.exist?(output_pdf)).to be_false
19
+ expected = IO.binread("#{base_dir}nfe_without_ns.xml.fixture.pdf")
20
20
 
21
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_without_ns.xml"))
22
- danfe.save_pdf output_pdf
21
+ expect(danfe.render_pdf).to eq expected
22
+ end
23
23
 
24
- expect("#{base_dir}nfe_without_ns.xml.fixture.pdf").to be_same_file_as(output_pdf)
25
- end
24
+ it "renders a NF-e having FCI in its items" do
25
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_fci.xml"))
26
26
 
27
- it "renders a NF-e having FCI in its items" do
28
- expect(File.exist?(output_pdf)).to be_false
27
+ expected = IO.binread("#{base_dir}nfe_with_fci.xml.fixture.pdf")
29
28
 
30
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_fci.xml"))
31
- danfe.save_pdf output_pdf
29
+ expect(danfe.render_pdf).to eq expected
30
+ end
32
31
 
33
- expect("#{base_dir}nfe_with_fci.xml.fixture.pdf").to be_same_file_as(output_pdf)
34
- end
32
+ it "renders a Simples Nacional NF-e using CSOSN" do
33
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
35
34
 
36
- it "renders a Simples Nacional NF-e using CSOSN" do
37
- expect(File.exist?(output_pdf)).to be_false
35
+ expected = IO.binread("#{base_dir}nfe_simples_nacional.xml.fixture.pdf")
38
36
 
39
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
40
- danfe.save_pdf output_pdf
37
+ expect(danfe.render_pdf).to eq expected
38
+ end
41
39
 
42
- expect("#{base_dir}nfe_simples_nacional.xml.fixture.pdf").to be_same_file_as(output_pdf)
43
- end
40
+ it "renders a NF-e with extra volumes" do
41
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_extra_volumes.xml"))
44
42
 
45
- it "renders a NF-e with extra volumes" do
46
- expect(File.exist?(output_pdf)).to be_false
43
+ expected = IO.binread("#{base_dir}nfe_with_extra_volumes.xml.fixture.pdf")
47
44
 
48
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_extra_volumes.xml"))
49
- danfe.save_pdf output_pdf
45
+ expect(danfe.render_pdf).to eq expected
46
+ end
50
47
 
51
- expect("#{base_dir}nfe_with_extra_volumes.xml.fixture.pdf").to be_same_file_as(output_pdf)
52
- end
48
+ it "renders a NF-e with logo" do
49
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_logo.xml"))
50
+ danfe.options.logo_path = "./spec/fixtures/nfe_with_logo.xml.logo.png"
51
+
52
+ expected = IO.binread("#{base_dir}nfe_with_logo.xml.fixture.pdf")
53
+
54
+ expect(danfe.render_pdf).to eq expected
55
+ end
53
56
 
54
- it "renders a NF-e with logo" do
55
- expect(File.exist?(output_pdf)).to be_false
57
+ it "renders a NF-e with CPF" do
58
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_cpf.xml"))
56
59
 
57
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_logo.xml"))
58
- danfe.options.logo_path = "./spec/fixtures/nfe_with_logo.xml.logo.png"
59
- danfe.save_pdf output_pdf
60
+ expected = IO.binread("#{base_dir}nfe_with_cpf.xml.fixture.pdf")
60
61
 
61
- expect("#{base_dir}nfe_with_logo.xml.fixture.pdf").to be_same_file_as(output_pdf)
62
+ expect(danfe.render_pdf).to eq expected
63
+ end
62
64
  end
63
65
 
64
- it "renders a NF-e with CPF" do
65
- expect(File.exist?(output_pdf)).to be_false
66
+ describe "#save_pdf" do
67
+ before { File.delete(output_pdf) if File.exist?(output_pdf) }
68
+
69
+ it "renders a basic NF-e with namespace" do
70
+ expect(File.exist?(output_pdf)).to be_falsey
71
+
72
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_ns.xml"))
73
+ danfe.save_pdf output_pdf
74
+
75
+ expect("#{base_dir}nfe_with_ns.xml.fixture.pdf").to be_same_file_as(output_pdf)
76
+ end
77
+
78
+ it "renders another basic NF-e without namespace" do
79
+ expect(File.exist?(output_pdf)).to be_falsey
80
+
81
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_without_ns.xml"))
82
+ danfe.save_pdf output_pdf
83
+
84
+ expect("#{base_dir}nfe_without_ns.xml.fixture.pdf").to be_same_file_as(output_pdf)
85
+ end
86
+
87
+ it "renders a NF-e having FCI in its items" do
88
+ expect(File.exist?(output_pdf)).to be_falsey
89
+
90
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_fci.xml"))
91
+ danfe.save_pdf output_pdf
92
+
93
+ expect("#{base_dir}nfe_with_fci.xml.fixture.pdf").to be_same_file_as(output_pdf)
94
+ end
95
+
96
+ it "renders a Simples Nacional NF-e using CSOSN" do
97
+ expect(File.exist?(output_pdf)).to be_falsey
98
+
99
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_simples_nacional.xml"))
100
+ danfe.save_pdf output_pdf
101
+
102
+ expect("#{base_dir}nfe_simples_nacional.xml.fixture.pdf").to be_same_file_as(output_pdf)
103
+ end
104
+
105
+ it "renders a NF-e with extra volumes" do
106
+ expect(File.exist?(output_pdf)).to be_falsey
107
+
108
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_extra_volumes.xml"))
109
+ danfe.save_pdf output_pdf
110
+
111
+ expect("#{base_dir}nfe_with_extra_volumes.xml.fixture.pdf").to be_same_file_as(output_pdf)
112
+ end
113
+
114
+ it "renders a NF-e with logo" do
115
+ expect(File.exist?(output_pdf)).to be_falsey
116
+
117
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_logo.xml"))
118
+ danfe.options.logo_path = "./spec/fixtures/nfe_with_logo.xml.logo.png"
119
+ danfe.save_pdf output_pdf
120
+
121
+ expect("#{base_dir}nfe_with_logo.xml.fixture.pdf").to be_same_file_as(output_pdf)
122
+ end
123
+
124
+ it "renders a NF-e with CPF" do
125
+ expect(File.exist?(output_pdf)).to be_falsey
66
126
 
67
- danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_cpf.xml"))
68
- danfe.save_pdf output_pdf
127
+ danfe = BrDanfe::Danfe.new(File.read("#{base_dir}nfe_with_cpf.xml"))
128
+ danfe.save_pdf output_pdf
69
129
 
70
- expect("#{base_dir}nfe_with_cpf.xml.fixture.pdf").to be_same_file_as(output_pdf)
130
+ expect("#{base_dir}nfe_with_cpf.xml.fixture.pdf").to be_same_file_as(output_pdf)
131
+ end
71
132
  end
72
133
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: br_danfe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ASSEINFO
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-06 00:00:00.000000000 Z
11
+ date: 2015-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -28,30 +28,30 @@ dependencies:
28
28
  name: prawn
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 1.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 1.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: barby
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 0.5.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 0.5.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: i18n
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -67,47 +67,47 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: pry
70
+ name: br_documents
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '>='
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
75
+ version: 0.0.8
76
+ type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '>='
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 0.0.8
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '>='
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 3.0.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '>='
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 3.0.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: simplecov
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '>='
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 0.9.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '>='
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: 0.9.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: codeclimate-test-reporter
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -138,8 +138,6 @@ files:
138
138
  - config/locales/pt-BR.yml
139
139
  - lib/br_danfe.rb
140
140
  - lib/br_danfe/cep.rb
141
- - lib/br_danfe/cnpj.rb
142
- - lib/br_danfe/cpf.rb
143
141
  - lib/br_danfe/cst.rb
144
142
  - lib/br_danfe/danfe.rb
145
143
  - lib/br_danfe/dest.rb
@@ -150,8 +148,6 @@ files:
150
148
  - lib/br_danfe/emit.rb
151
149
  - lib/br_danfe/helper.rb
152
150
  - lib/br_danfe/icmstot.rb
153
- - lib/br_danfe/ie.rb
154
- - lib/br_danfe/ie_masks.rb
155
151
  - lib/br_danfe/infadic.rb
156
152
  - lib/br_danfe/issqn.rb
157
153
  - lib/br_danfe/options.rb
@@ -180,11 +176,8 @@ files:
180
176
  - spec/fixtures/nfe_without_ns.xml
181
177
  - spec/fixtures/nfe_without_ns.xml.fixture.pdf
182
178
  - spec/lib/cep_spec.rb
183
- - spec/lib/cnpj_spec.rb
184
- - spec/lib/cpf_spec.rb
185
179
  - spec/lib/cst_spec.rb
186
180
  - spec/lib/helper_spec.rb
187
- - spec/lib/ie_spec.rb
188
181
  - spec/lib/options_spec.rb
189
182
  - spec/lib/phone_spec.rb
190
183
  - spec/lib/plate_spec.rb
@@ -211,7 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
204
  version: '0'
212
205
  requirements: []
213
206
  rubyforge_project:
214
- rubygems_version: 2.0.6
207
+ rubygems_version: 2.2.2
215
208
  signing_key:
216
209
  specification_version: 4
217
210
  summary: DANFE pdf generator for Brazilian invoices.
@@ -233,14 +226,12 @@ test_files:
233
226
  - spec/fixtures/nfe_without_ns.xml
234
227
  - spec/fixtures/nfe_without_ns.xml.fixture.pdf
235
228
  - spec/lib/cep_spec.rb
236
- - spec/lib/cnpj_spec.rb
237
- - spec/lib/cpf_spec.rb
238
229
  - spec/lib/cst_spec.rb
239
230
  - spec/lib/helper_spec.rb
240
- - spec/lib/ie_spec.rb
241
231
  - spec/lib/options_spec.rb
242
232
  - spec/lib/phone_spec.rb
243
233
  - spec/lib/plate_spec.rb
244
234
  - spec/lib/xprod_spec.rb
245
235
  - spec/spec_helper.rb
246
236
  - spec/support/be_same_file_as.rb
237
+ has_rdoc:
data/lib/br_danfe/cnpj.rb DELETED
@@ -1,7 +0,0 @@
1
- module BrDanfe
2
- class Cnpj
3
- def self.format(cnpj)
4
- cnpj.sub(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/, "\\1.\\2.\\3/\\4-\\5")
5
- end
6
- end
7
- end
data/lib/br_danfe/cpf.rb DELETED
@@ -1,7 +0,0 @@
1
- module BrDanfe
2
- class Cpf
3
- def self.format(cpf)
4
- cpf.sub(/(\d{3})(\d{3})(\d{3})(\d{2})/, "\\1.\\2.\\3-\\4")
5
- end
6
- end
7
- end
data/lib/br_danfe/ie.rb DELETED
@@ -1,20 +0,0 @@
1
- module BrDanfe
2
- class Ie
3
- def self.format(ie, uf)
4
- uf = uf.upcase
5
-
6
- if ["AL", "AP", "MA", "ES", "MS", "PI", "TO"].include?(uf)
7
- formatted = ie
8
- elsif ["CE", "PB", "RR", "SE"].include?(uf)
9
- formatted = ie.sub(/(\d{8})(\d{1})/, "\\1-\\2")
10
- elsif ["AM", "GO"].include?(uf)
11
- formatted = ie.sub(/(\d{2})(\d{3})(\d{3})(\d{1})/, "\\1.\\2.\\3-\\4")
12
- else
13
- masks = IeMasks.new
14
- formatted = masks.send("apply_mask_for_#{uf.downcase}", ie)
15
- end
16
-
17
- formatted
18
- end
19
- end
20
- end
@@ -1,75 +0,0 @@
1
- module BrDanfe
2
- class IeMasks
3
- def apply_mask_for_sp(ie)
4
- if ie.length == 12
5
- ie.sub(/(\d{3})(\d{3})(\d{3})(\d{3})/, "\\1.\\2.\\3.\\4")
6
- else
7
- ie.sub(/(\w{1})(\d{8})(\d{1})(\d{3})/, "\\1-\\2.\\3/\\4")
8
- end
9
- end
10
-
11
- def apply_mask_for_ba(ie)
12
- if ie.length == 8
13
- ie.sub(/(\d{6})(\d{2})/, "\\1-\\2")
14
- else
15
- ie.sub(/(\d{7})(\d{2})/, "\\1-\\2")
16
- end
17
- end
18
-
19
- def apply_mask_for_ro(ie)
20
- if ie.length == 9
21
- ie.sub(/(\d{3})(\d{5})(\d{1})/, "\\1.\\2-\\3")
22
- else
23
- ie.sub(/(\d{13})(\d{1})/, "\\1-\\2")
24
- end
25
- end
26
-
27
- def apply_mask_for_rn(ie)
28
- if ie.length == 9
29
- ie.sub(/(\d{2})(\d{3})(\d{3})(\d{1})/, "\\1.\\2.\\3-\\4")
30
- else
31
- ie.sub(/(\d{2})(\d{1})(\d{3})(\d{3})(\d{1})/, "\\1.\\2.\\3.\\4-\\5")
32
- end
33
- end
34
-
35
- def apply_mask_for_ac(ie)
36
- ie.sub(/(\d{2})(\d{3})(\d{3})(\d{3})(\d{2})/, "\\1.\\2.\\3/\\4-\\5")
37
- end
38
-
39
- def apply_mask_for_df(ie)
40
- ie.sub(/(\d{11})(\d{2})/, "\\1-\\2")
41
- end
42
-
43
- def apply_mask_for_mg(ie)
44
- ie.sub(/(\d{3})(\d{3})(\d{3})(\d{4})/, "\\1.\\2.\\3/\\4")
45
- end
46
-
47
- def apply_mask_for_mt(ie)
48
- ie.sub(/(\d{10})(\d{1})/, "\\1-\\2")
49
- end
50
-
51
- def apply_mask_for_rj(ie)
52
- ie.sub(/(\d{2})(\d{3})(\d{2})(\d{1})/, "\\1.\\2.\\3-\\4")
53
- end
54
-
55
- def apply_mask_for_pr(ie)
56
- ie.sub(/(\d{8})(\d{2})/, "\\1-\\2")
57
- end
58
-
59
- def apply_mask_for_rs(ie)
60
- ie.sub(/(\d{3})(\d{7})/, "\\1/\\2")
61
- end
62
-
63
- def apply_mask_for_pe(ie)
64
- ie.sub(/(\d{7})(\d{2})/, "\\1-\\2")
65
- end
66
-
67
- def apply_mask_for_pa(ie)
68
- ie.sub(/(\d{2})(\d{6})(\d{1})/, "\\1-\\2-\\3")
69
- end
70
-
71
- def apply_mask_for_sc(ie)
72
- ie.sub(/(\d{3})(\d{3})(\d{3})/, "\\1.\\2.\\3")
73
- end
74
- end
75
- end
@@ -1,10 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe BrDanfe::Cnpj do
4
- describe ".format" do
5
- it "returns a formated CNPJ" do
6
- cnpj = "32624223000116"
7
- expect(BrDanfe::Cnpj.format(cnpj)).to eq "32.624.223/0001-16"
8
- end
9
- end
10
- end
data/spec/lib/cpf_spec.rb DELETED
@@ -1,10 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe BrDanfe::Cpf do
4
- describe ".format" do
5
- it "returns a formated CPF " do
6
- cpf = "61092121480"
7
- expect(BrDanfe::Cpf.format(cpf)).to eq "610.921.214-80"
8
- end
9
- end
10
- end
data/spec/lib/ie_spec.rb DELETED
@@ -1,230 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe BrDanfe::Ie do
4
- describe ".format" do
5
- context "when UF is AC" do
6
- it "returns a formated ie" do
7
- ie = "1234567890123"
8
- expect(BrDanfe::Ie.format(ie, "AC")).to eq "12.345.678/901-23"
9
- end
10
- end
11
-
12
- context "when UF is AL" do
13
- it "returns a formated ie" do
14
- ie = "123456789"
15
- expect(BrDanfe::Ie.format(ie, "AL")).to eq "123456789"
16
- end
17
- end
18
-
19
- context "when UF is AP" do
20
- it "returns a formated ie" do
21
- ie = "123456789"
22
- expect(BrDanfe::Ie.format(ie, "AP")).to eq "123456789"
23
- end
24
- end
25
-
26
- context "when UF is AM" do
27
- it "returns a formated ie" do
28
- ie = "123456789"
29
- expect(BrDanfe::Ie.format(ie, "AM")).to eq "12.345.678-9"
30
- end
31
- end
32
-
33
- context "when UF is BA" do
34
- context "when IE have 8 digits" do
35
- it "returns a formated ie" do
36
- ie = "12345678"
37
- expect(BrDanfe::Ie.format(ie, "BA")).to eq "123456-78"
38
- end
39
- end
40
-
41
- context "when IE have 9 digits" do
42
- it "returns a formated ie" do
43
- ie = "123456789"
44
- expect(BrDanfe::Ie.format(ie, "BA")).to eq "1234567-89"
45
- end
46
- end
47
- end
48
-
49
- context "when UF is CE" do
50
- it "returns a formated ie" do
51
- ie = "123456789"
52
- expect(BrDanfe::Ie.format(ie, "CE")).to eq "12345678-9"
53
- end
54
- end
55
-
56
- context "when UF is DF" do
57
- it "returns a formated ie" do
58
- ie = "1234567890123"
59
- expect(BrDanfe::Ie.format(ie, "DF")).to eq "12345678901-23"
60
- end
61
- end
62
-
63
- context "when UF is ES" do
64
- it "returns a formated ie" do
65
- ie = "123456789"
66
- expect(BrDanfe::Ie.format(ie, "ES")).to eq "123456789"
67
- end
68
- end
69
-
70
- context "when UF is GO" do
71
- it "returns a formated ie" do
72
- ie = "123456789"
73
- expect(BrDanfe::Ie.format(ie, "GO")).to eq "12.345.678-9"
74
- end
75
- end
76
-
77
- context "when UF is MA" do
78
- it "returns a formated ie" do
79
- ie = "123456789"
80
- expect(BrDanfe::Ie.format(ie, "MA")).to eq "123456789"
81
- end
82
- end
83
-
84
- context "when UF is MT" do
85
- it "returns a formated ie" do
86
- ie = "12345678901"
87
- expect(BrDanfe::Ie.format(ie, "MT")).to eq "1234567890-1"
88
- end
89
- end
90
-
91
- context "when UF is MS" do
92
- it "returns a formated ie" do
93
- ie = "12345678"
94
- expect(BrDanfe::Ie.format(ie, "MS")).to eq "12345678"
95
- end
96
- end
97
-
98
- context "when UF is MG" do
99
- it "returns a formated ie" do
100
- ie = "1234567890123"
101
- expect(BrDanfe::Ie.format(ie, "MG")).to eq "123.456.789/0123"
102
- end
103
- end
104
-
105
- context "when UF is PA" do
106
- it "returns a formated ie" do
107
- ie = "123456789"
108
- expect(BrDanfe::Ie.format(ie, "PA")).to eq "12-345678-9"
109
- end
110
- end
111
-
112
- context "when UF is PB" do
113
- it "returns a formated ie" do
114
- ie = "123456789"
115
- expect(BrDanfe::Ie.format(ie, "PB")).to eq "12345678-9"
116
- end
117
- end
118
-
119
- context "when UF is PR" do
120
- it "returns a formated ie" do
121
- ie = "1234567890"
122
- expect(BrDanfe::Ie.format(ie, "PR")).to eq "12345678-90"
123
- end
124
- end
125
-
126
- context "when UF is PE" do
127
- it "returns a formated ie" do
128
- ie = "123456789"
129
- expect(BrDanfe::Ie.format(ie, "PE")).to eq "1234567-89"
130
- end
131
- end
132
-
133
- context "when UF is PI" do
134
- it "returns a formated ie" do
135
- ie = "123456789"
136
- expect(BrDanfe::Ie.format(ie, "PI")).to eq "123456789"
137
- end
138
- end
139
-
140
- context "when UF is RJ" do
141
- it "returns a formated ie" do
142
- ie = "12345678"
143
- expect(BrDanfe::Ie.format(ie, "RJ")).to eq "12.345.67-8"
144
- end
145
- end
146
-
147
- context "when UF is RN" do
148
- context "when IE have 9 digits" do
149
- it "returns a formated ie" do
150
- ie = "123456789"
151
- expect(BrDanfe::Ie.format(ie, "RN")).to eq "12.345.678-9"
152
- end
153
- end
154
-
155
- context "when IE have 10 digits" do
156
- it "eturns a formated ie" do
157
- ie = "1234567890"
158
- expect(BrDanfe::Ie.format(ie, "RN")).to eq "12.3.456.789-0"
159
- end
160
- end
161
- end
162
-
163
- context "when UF is RS" do
164
- it "returns a formated ie" do
165
- ie = "1234567890"
166
- expect(BrDanfe::Ie.format(ie, "RS")).to eq "123/4567890"
167
- end
168
- end
169
-
170
- context "when UF is RO" do
171
- context "when IE have 9 digits" do
172
- it "returns a formated ie" do
173
- ie = "123456789"
174
- expect(BrDanfe::Ie.format(ie, "RO")).to eq "123.45678-9"
175
- end
176
- end
177
-
178
- context "when IE have 14 digits" do
179
- it "returns a formated ie" do
180
- ie = "12345678901234"
181
- expect(BrDanfe::Ie.format(ie, "RO")).to eq "1234567890123-4"
182
- end
183
- end
184
- end
185
-
186
- context "when UF is RR" do
187
- it "returns a formated ie" do
188
- ie = "123456789"
189
- expect(BrDanfe::Ie.format(ie, "RR")).to eq "12345678-9"
190
- end
191
- end
192
-
193
- context "when UF is SC" do
194
- it "returns a formated ie" do
195
- ie = "123456789"
196
- expect(BrDanfe::Ie.format(ie, "SC")).to eq "123.456.789"
197
- end
198
- end
199
-
200
- context "when UF is SP" do
201
- context "when IE have 12 digits" do
202
- it "returns a formated ie" do
203
- ie = "123456789012"
204
- expect(BrDanfe::Ie.format(ie, "SP")).to eq "123.456.789.012"
205
- end
206
- end
207
-
208
- context "when IE have 13 digits" do
209
- it "returns a formated ie" do
210
- ie = "A123456789012"
211
- expect(BrDanfe::Ie.format(ie, "SP")).to eq "A-12345678.9/012"
212
- end
213
- end
214
- end
215
-
216
- context "when UF is SE" do
217
- it "returns a formated ie" do
218
- ie = "123456789"
219
- expect(BrDanfe::Ie.format(ie, "SE")).to eq "12345678-9"
220
- end
221
- end
222
-
223
- context "when UF is TO" do
224
- it "returns a formated ie" do
225
- ie = "12345678901"
226
- expect(BrDanfe::Ie.format(ie, "TO")).to eq "12345678901"
227
- end
228
- end
229
- end
230
- end