br_danfe 0.5.1 → 0.5.2

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
2
  SHA1:
3
- metadata.gz: d2f5317a482b552f18b98288189e62ebb8543ced
4
- data.tar.gz: 998323f1c9d60ac76a97463116583a075bc195d8
3
+ metadata.gz: d394becb075780bdb77c14db3fa0020a2bbea472
4
+ data.tar.gz: 17dab17f8cc0f36dbddecea3ecda54212eaa0815
5
5
  SHA512:
6
- metadata.gz: 23fc0c24cabdb273990ad058525c42a79aa9eba5613c42a75f16dd8dc4c9a3256bece7da8cc12c89c454103f34a811eac31529ba53e4c831d842b667c0437f48
7
- data.tar.gz: 0c4a632de0771b144e63981b8bbd8f3e34498a94d0d51961eb3b9fcbda8b83f498ebabec1ef33756e36961f8589bb9d0c99c1597c06468f85f5070001350a2c3
6
+ metadata.gz: 0bf049fcbce978d4c153054a1224b8289e211eb39587792e03c63227858b1e3b39a968d4a51e866cb60b53f4a665dfaa990d180e040f2573a619877446e11532
7
+ data.tar.gz: f16c0a7e2e430afec9d717107f2322b3a14839ec9920d7637e5f68c952429fe1aaec07cbab3bc71d28b4800a8a9e57227f6fb1697d6abbdf5752379ef9f7ae5e
data/Dockerfile ADDED
@@ -0,0 +1,20 @@
1
+ FROM ruby:2.2.5
2
+
3
+ # MACHINE
4
+ RUN apt-get update -qq && apt-get install -y build-essential
5
+ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
6
+
7
+ # SOURCE DIR
8
+ RUN mkdir /src
9
+ WORKDIR /src
10
+
11
+ # LINK GEMS
12
+ ADD ./lib/br_danfe/version.rb ./lib/br_danfe/version.rb
13
+ ADD ./br_danfe.gemspec ./br_danfe.gemspec
14
+ ADD ./Gemfile ./Gemfile
15
+
16
+ RUN bundle
17
+
18
+ # LINK SOURCE
19
+ ADD ./ ./
20
+
data/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
1
  source "https://rubygems.org"
2
- ruby "2.2.2"
2
+ ruby "2.2.5"
3
3
 
4
4
  gemspec
5
5
 
data/README.md CHANGED
@@ -84,31 +84,40 @@ By default, your rails application must be configured to `pt-Br`.
84
84
 
85
85
  If you need to customize some message or field label, you can override the content of pt-Br.yml file.
86
86
 
87
- ## Development
87
+ ## Development - With Docker
88
88
 
89
- ### Installing dependencies
89
+ You needs to build docker container like above:
90
90
 
91
- You can install all necessaries dependencies using bunder like above:
91
+ $ docker-compose build
92
92
 
93
- $ bundle install
93
+ You can run all RSpec specs using:
94
+
95
+ $ docker-compose run br_danfe rspec
94
96
 
95
- ### Tests
96
97
 
97
- #### Automated tests with RSpec
98
+ ## Development - Without Docker
98
99
 
99
- You can run all specs using:
100
+ You needs to install all necessaries dependencies using bunder like above:
101
+
102
+ $ bundle install
103
+
104
+
105
+ You can run all RSpec specs using:
100
106
 
101
107
  $ rspec
102
108
 
103
- If you modify something that caused general visual changes at output pdfs, so you have to rebuild the fixtures pdf files.
104
109
 
105
- You can do this simply deleting the fixture pdf file. The `have_same_content_of` matcher will recreate the fixture in the next time you run the `rspec` command.
110
+ ## About tests
111
+
112
+ > If you modify something that caused general visual changes at output pdfs, so you have to rebuild the fixtures pdf files.
113
+ >
114
+ > You can do this simply deleting the fixture pdf file. The `have_same_content_of` matcher will recreate the fixture in the next time you run the `rspec` command.
106
115
 
107
- #### Code coverage
116
+ ### Code coverage
108
117
 
109
118
  Code coverage is available through of SimpleCov. Just run `rspec` and open the coverage report in your browser.
110
119
 
111
- #### Fake data for generating new fixtures
120
+ ### Fake data for generating new fixtures
112
121
 
113
122
  If you need to generate new danfes for using as fixtures, please don't use real data.
114
123
 
@@ -171,7 +180,7 @@ IE | 964.508.990.089
171
180
 
172
181
  You can generate new data using [4devs generators](http://www.4devs.com.br).
173
182
 
174
- ### Building and publishing
183
+ ## Building and publishing
175
184
 
176
185
  You can build using one of the above tasks
177
186
 
@@ -0,0 +1,8 @@
1
+ version: "2"
2
+ services:
3
+ br_danfe:
4
+ build: .
5
+ volumes:
6
+ - .:/src
7
+ environment:
8
+ - TZ=America/Sao_Paulo
@@ -58,7 +58,7 @@ module BrDanfe
58
58
 
59
59
  def repeat_on_each_page
60
60
  DanfeLib::Ticket.new(@pdf, @xml).render
61
- DanfeLib::EmitHeader.new(@pdf, @xml, @options.logo).render
61
+ DanfeLib::EmitHeader.new(@pdf, @xml, @options.logo, @options.logo_dimensions).render
62
62
  DanfeLib::Emit.new(@pdf, @xml).render
63
63
  DanfeLib::Dest.new(@pdf, @xml).render
64
64
  DanfeLib::Dup.new(@pdf, @xml).render
@@ -1,34 +1,37 @@
1
1
  module BrDanfe
2
2
  module DanfeLib
3
3
  class EmitHeader
4
- def initialize(pdf, xml, logo)
4
+ def initialize(pdf, xml, logo, logo_dimensions)
5
5
  @pdf = pdf
6
6
  @xml = xml
7
7
  @logo = logo
8
+ @logo_dimensions = logo_dimensions
8
9
  end
9
10
 
10
11
  def render
11
- address_box
12
+ company_box
12
13
  danfe_box
13
14
  access_key_box
14
15
  sefaz_box
15
16
  end
16
17
 
17
18
  private
18
- def address_box
19
+
20
+ def company_box
19
21
  @pdf.ibox 3.92, 7.46, 0.75, 3.96
20
22
 
21
- @pdf.ibox 3.92, 7.46, 0.75, 4.22, "", @xml["emit/xNome"],
23
+ @pdf.ibox 3.92, 7.46, 0.75, 3.96, "", @xml["emit/xNome"],
22
24
  { size: 12, align: :center, border: 0, style: :bold }
23
25
 
26
+ address_company
27
+ end
28
+
29
+ def address_company
24
30
  if @logo.blank?
25
31
  @pdf.ibox 3.92, 7.46, 1.25, 5.42, "", address, { align: :left, border: 0 }
26
32
  else
27
- @pdf.ibox 3.92, 7.46, 3.25, 5.42, "", address,
28
- { size: 8, align: :left, border: 0 }
29
-
30
- @pdf.image @logo, at: [1.0.cm, Helper.invert(5.42.cm)],
31
- width: 2.cm
33
+ @pdf.ibox 3.92, 7.46, 3.60, 5.42, "", address, { size: 8, align: :left, border: 0 }
34
+ logo
32
35
  end
33
36
  end
34
37
 
@@ -49,6 +52,16 @@ module BrDanfe
49
52
  Cep.format(@xml["enderEmit/CEP"])
50
53
  end
51
54
 
55
+ def logo
56
+ bounding_box_size = 80
57
+ logo_options = BrDanfe::DanfeLib::LogoOptions.new(bounding_box_size, @logo_dimensions).options
58
+
59
+ @pdf.move_down 105
60
+ @pdf.bounding_box([0.83.cm, @pdf.cursor], width: bounding_box_size, height: bounding_box_size) do
61
+ @pdf.image @logo, logo_options
62
+ end
63
+ end
64
+
52
65
  def danfe_box
53
66
  @pdf.ibox 3.92, 2.08, 8.21, 3.96
54
67
 
@@ -0,0 +1,28 @@
1
+ module BrDanfe
2
+ module DanfeLib
3
+ class LogoOptions
4
+ def initialize(bounding_box_size, logo_dimensions)
5
+ @bounding_box_size = bounding_box_size
6
+ @logo_width = logo_dimensions[:width]
7
+ @logo_height = logo_dimensions[:height]
8
+ end
9
+
10
+ def options
11
+ logo_options = dimensions
12
+ logo_options[:position] = :center
13
+ logo_options[:vposition] = :center
14
+ logo_options
15
+ end
16
+
17
+ private
18
+
19
+ def dimensions
20
+ @logo_width > @logo_height ? { width: calculate_size(@logo_width) } : { height: calculate_size(@logo_height) }
21
+ end
22
+
23
+ def calculate_size(size)
24
+ size < @bounding_box_size ? size : @bounding_box_size
25
+ end
26
+ end
27
+ end
28
+ end
@@ -3,6 +3,7 @@ module BrDanfe
3
3
  class Options < OpenStruct
4
4
  DEFAULTOPTIONS = {
5
5
  logo: "",
6
+ logo_dimensions: {},
6
7
  products_quantity_precision: 2,
7
8
  products_unit_price_precision: 2
8
9
  }
@@ -1,3 +1,3 @@
1
1
  module BrDanfe
2
- VERSION = "0.5.1"
2
+ VERSION = "0.5.2"
3
3
  end
@@ -29,6 +29,7 @@ describe BrDanfe::Danfe do
29
29
  danfe.options.logo = "spec/fixtures/logo.png"
30
30
  danfe.options.products_unit_price_precision = 4
31
31
  danfe.options.products_quantity_precision = 4
32
+ danfe.options.logo_dimensions = { width: 100, height: 100 }
32
33
 
33
34
  danfe.save_pdf output_pdf
34
35
 
@@ -26,42 +26,42 @@ q
26
26
  S
27
27
 
28
28
  BT
29
- 61.5081 746.0717 Td
29
+ 61.5081 753.4418 Td
30
30
  /F2.0 12 Tf
31
31
  [<4e6f6d6520646f2052656d6574656e7465204c746461>] TJ
32
32
  ET
33
33
 
34
34
 
35
35
  BT
36
- 94.126 714.788 Td
36
+ 104.0472 714.788 Td
37
37
  /F1.0 8 Tf
38
38
  [<52756120646f2052656d6574656e74652c20436173612c20313233>] TJ
39
39
  ET
40
40
 
41
41
 
42
42
  BT
43
- 94.126 705.86 Td
43
+ 104.0472 705.86 Td
44
44
  /F1.0 8 Tf
45
45
  [<42616972726f20646f2052656d6574656e7465202d2031322e3334352d363738>] TJ
46
46
  ET
47
47
 
48
48
 
49
49
  BT
50
- 94.126 696.932 Td
50
+ 104.0472 696.932 Td
51
51
  /F1.0 8 Tf
52
52
  [<5341> 55 <4f2050> 92 <41> 55 <554c4f2f5350>] TJ
53
53
  ET
54
54
 
55
55
 
56
56
  BT
57
- 94.126 688.004 Td
57
+ 104.0472 688.004 Td
58
58
  /F1.0 8 Tf
59
59
  [<2831312920313233342d3536373820666f6f40626172> 55 <2e636f6d>] TJ
60
60
  ET
61
61
 
62
62
 
63
63
  q
64
- 56.6929 0.0 0.0 56.6929 28.3465 667.5591 cm
64
+ 80.0 0.0 0.0 80.0 23.5276 656.89 cm
65
65
  /I1 Do
66
66
  Q
67
67
  232.7244 654.5197 58.9606 111.1181 re
@@ -26,7 +26,7 @@ q
26
26
  S
27
27
 
28
28
  BT
29
- 61.5081 746.0717 Td
29
+ 61.5081 753.4418 Td
30
30
  /F2.0 12 Tf
31
31
  [<4e6f6d6520646f2052656d6574656e7465204c746461>] TJ
32
32
  ET
@@ -740,49 +740,49 @@ ET
740
740
  S
741
741
 
742
742
  BT
743
- 59.2881 746.0717 Td
743
+ 59.2881 753.4418 Td
744
744
  /F2.0 12 Tf
745
745
  [<4b52> 30 <4f4e20494e535452> 30 <554d454e54> 18 <4f53>] TJ
746
746
  ET
747
747
 
748
748
 
749
749
  BT
750
- 74.5761 732.2357 Td
750
+ 74.5761 739.6058 Td
751
751
  /F2.0 12 Tf
752
752
  [<454c45545249434f53204c> 92 <5444> 35 <41>] TJ
753
753
  ET
754
754
 
755
755
 
756
756
  BT
757
- 94.126 714.788 Td
757
+ 104.0472 714.788 Td
758
758
  /F1.0 8 Tf
759
759
  [<52> 40 <55> 40 <4120414c4558414e445245204445204755534d41> 55 <4f2c20323738>] TJ
760
760
  ET
761
761
 
762
762
 
763
763
  BT
764
- 94.126 705.86 Td
764
+ 104.0472 705.86 Td
765
765
  /F1.0 8 Tf
766
766
  [<534f434f5252> 40 <4f202d2030342e3736302d303230>] TJ
767
767
  ET
768
768
 
769
769
 
770
770
  BT
771
- 94.126 696.932 Td
771
+ 104.0472 696.932 Td
772
772
  /F1.0 8 Tf
773
773
  [<5341> 55 <4f2050> 92 <41> 55 <554c4f2f5350>] TJ
774
774
  ET
775
775
 
776
776
 
777
777
  BT
778
- 94.126 688.004 Td
778
+ 104.0472 688.004 Td
779
779
  /F1.0 8 Tf
780
780
  [<2831312920353532352d32303030>] TJ
781
781
  ET
782
782
 
783
783
 
784
784
  q
785
- 56.6929 0.0 0.0 56.6929 28.3465 667.5591 cm
785
+ 80.0 0.0 0.0 80.0 23.5276 656.89 cm
786
786
  /I1 Do
787
787
  Q
788
788
  232.7244 654.5197 58.9606 111.1181 re
@@ -738,14 +738,14 @@ ET
738
738
  S
739
739
 
740
740
  BT
741
- 59.2881 746.0717 Td
741
+ 59.2881 753.4418 Td
742
742
  /F2.0 12 Tf
743
743
  [<4b52> 30 <4f4e20494e535452> 30 <554d454e54> 18 <4f53>] TJ
744
744
  ET
745
745
 
746
746
 
747
747
  BT
748
- 74.5761 732.2357 Td
748
+ 74.5761 739.6058 Td
749
749
  /F2.0 12 Tf
750
750
  [<454c45545249434f53204c> 92 <5444> 35 <41>] TJ
751
751
  ET
@@ -2122,7 +2122,7 @@ ET
2122
2122
  S
2123
2123
 
2124
2124
  BT
2125
- 99.8241 746.0717 Td
2125
+ 99.8241 753.4418 Td
2126
2126
  /F2.0 12 Tf
2127
2127
  [<41> 55 <434d45205341>] TJ
2128
2128
  ET
@@ -414,14 +414,14 @@ ET
414
414
  S
415
415
 
416
416
  BT
417
- 59.2881 746.0717 Td
417
+ 59.2881 753.4418 Td
418
418
  /F2.0 12 Tf
419
419
  [<4b52> 30 <4f4e20494e535452> 30 <554d454e54> 18 <4f53>] TJ
420
420
  ET
421
421
 
422
422
 
423
423
  BT
424
- 74.5761 732.2357 Td
424
+ 74.5761 739.6058 Td
425
425
  /F2.0 12 Tf
426
426
  [<454c45545249434f53204c> 92 <5444> 35 <41>] TJ
427
427
  ET
@@ -2122,7 +2122,7 @@ ET
2122
2122
  S
2123
2123
 
2124
2124
  BT
2125
- 99.8241 746.0717 Td
2125
+ 99.8241 753.4418 Td
2126
2126
  /F2.0 12 Tf
2127
2127
  [<41> 55 <434d45205341>] TJ
2128
2128
  ET
@@ -819,7 +819,7 @@ ET
819
819
  S
820
820
 
821
821
  BT
822
- 99.8241 746.0717 Td
822
+ 99.8241 753.4418 Td
823
823
  /F2.0 12 Tf
824
824
  [<41> 55 <434d45205341>] TJ
825
825
  ET
@@ -1879,7 +1879,7 @@ ET
1879
1879
  S
1880
1880
 
1881
1881
  BT
1882
- 61.5081 746.0717 Td
1882
+ 61.5081 753.4418 Td
1883
1883
  /F2.0 12 Tf
1884
1884
  [<4e6f6d6520646f2052656d6574656e7465204c746461>] TJ
1885
1885
  ET
@@ -48,7 +48,7 @@ describe BrDanfe::DanfeLib::EmitHeader do
48
48
  end
49
49
 
50
50
  context "without logo" do
51
- subject { described_class.new(pdf, xml, "") }
51
+ subject { described_class.new(pdf, xml, "", { width: 100, height: 100 }) }
52
52
 
53
53
  it "renders xml to the pdf" do
54
54
  expect(File.exist?(output_pdf)).to be_falsey
@@ -62,7 +62,7 @@ describe BrDanfe::DanfeLib::EmitHeader do
62
62
  context "with logo" do
63
63
  let(:logo) { "spec/fixtures/logo.png" }
64
64
 
65
- subject { described_class.new(pdf, xml, logo) }
65
+ subject { described_class.new(pdf, xml, logo, { width: 100, height: 100 }) }
66
66
 
67
67
  it "renders xml to the pdf" do
68
68
  expect(File.exist?(output_pdf)).to be_falsey
@@ -0,0 +1,82 @@
1
+ require "spec_helper"
2
+
3
+ RSpec.describe BrDanfe::DanfeLib::LogoOptions do
4
+ let(:box_size) { 100 }
5
+ let(:logo_dimensions) do
6
+ { width: 50, height: 50 }
7
+ end
8
+
9
+ subject { described_class.new(box_size, logo_dimensions) }
10
+
11
+ describe "#options" do
12
+ context "when the logo dimensions are smaller than the dimensions of the box" do
13
+ context "when the logo is square" do
14
+ it "returns the options with logo height" do
15
+ expect(subject.options).to eq(height: 50, position: :center, vposition: :center)
16
+ end
17
+ end
18
+
19
+ context "when logo width is larger than logo height" do
20
+ let(:logo_dimensions) do
21
+ { width: 75, height: 50 }
22
+ end
23
+
24
+ it "returns the options with logo width" do
25
+ expect(subject.options).to eq(width: 75, position: :center, vposition: :center)
26
+ end
27
+ end
28
+
29
+ context "when logo height is larger than logo width" do
30
+ let(:logo_dimensions) do
31
+ { width: 50, height: 75 }
32
+ end
33
+
34
+ it "returns the options with logo height" do
35
+ expect(subject.options).to eq(height: 75, position: :center, vposition: :center)
36
+ end
37
+ end
38
+ end
39
+
40
+ context "when the logo dimensions are equal to the dimensions of the box" do
41
+ let(:logo_dimensions) do
42
+ { width: 100, height: 100 }
43
+ end
44
+
45
+ it "returns the options with box size" do
46
+ expect(subject.options).to eq(height: 100, position: :center, vposition: :center)
47
+ end
48
+ end
49
+
50
+ context "when the logo dimensions are larger than the dimensions of the box" do
51
+ context "when the logo is square" do
52
+ let(:logo_dimensions) do
53
+ { width: 150, height: 150 }
54
+ end
55
+
56
+ it "returns the options with box size" do
57
+ expect(subject.options).to eq(height: 100, position: :center, vposition: :center)
58
+ end
59
+ end
60
+
61
+ context "when logo width is larger than logo height" do
62
+ let(:logo_dimensions) do
63
+ { width: 175, height: 150 }
64
+ end
65
+
66
+ it "returns the options with box size" do
67
+ expect(subject.options).to eq(width: 100, position: :center, vposition: :center)
68
+ end
69
+ end
70
+
71
+ context "when logo height is larger than logo width" do
72
+ let(:logo_dimensions) do
73
+ { width: 150, height: 175 }
74
+ end
75
+
76
+ it "returns the options with box size" do
77
+ expect(subject.options).to eq(height: 100, position: :center, vposition: :center)
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -4,17 +4,22 @@ describe BrDanfe::DanfeLib::Options do
4
4
  it "returns the default config set in the code" do
5
5
  options = BrDanfe::DanfeLib::Options.new
6
6
  expect(options.logo).to eq("")
7
+ expect(options.logo_dimensions).to eq({})
8
+
7
9
  expect(options.products_unit_price_precision).to eq(2)
8
10
  expect(options.products_quantity_precision).to eq(2)
9
11
  end
10
12
 
11
13
  it "returns the config set in params" do
12
14
  custom_options = { logo: "/fake/path/file.png",
13
- products_unit_price_precision: 3, products_quantity_precision: 4 }
15
+ products_unit_price_precision: 3, products_quantity_precision: 4,
16
+ logo_dimensions: { width: 50, height: 50}
17
+ }
14
18
 
15
19
  options = BrDanfe::DanfeLib::Options.new(custom_options)
16
20
  expect(options.logo).to eq("/fake/path/file.png")
17
21
  expect(options.products_unit_price_precision).to eq(3)
18
22
  expect(options.products_quantity_precision).to eq(4)
23
+ expect(options.logo_dimensions).to eq({ width: 50, height: 50})
19
24
  end
20
25
  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.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ASSEINFO
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-22 00:00:00.000000000 Z
11
+ date: 2016-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -159,12 +159,14 @@ files:
159
159
  - ".codeclimate.yml"
160
160
  - ".gitignore"
161
161
  - ".rspec"
162
+ - Dockerfile
162
163
  - Gemfile
163
164
  - README.md
164
165
  - Rakefile
165
166
  - br_danfe.gemspec
166
167
  - circle.yml
167
168
  - config/locales/pt-BR.yml
169
+ - docker-compose.yml
168
170
  - lib/br_danfe.rb
169
171
  - lib/br_danfe/cce.rb
170
172
  - lib/br_danfe/cce_lib/barcode.rb
@@ -189,6 +191,7 @@ files:
189
191
  - lib/br_danfe/danfe_lib/icmstot.rb
190
192
  - lib/br_danfe/danfe_lib/infadic.rb
191
193
  - lib/br_danfe/danfe_lib/issqn.rb
194
+ - lib/br_danfe/danfe_lib/logo_options.rb
192
195
  - lib/br_danfe/danfe_lib/options.rb
193
196
  - lib/br_danfe/danfe_lib/phone.rb
194
197
  - lib/br_danfe/danfe_lib/plate.rb
@@ -286,6 +289,7 @@ files:
286
289
  - spec/lib/danfe_lib/icmstot_spec.rb
287
290
  - spec/lib/danfe_lib/infadic_spec.rb
288
291
  - spec/lib/danfe_lib/issqn_spec.rb
292
+ - spec/lib/danfe_lib/logo_options_spec.rb
289
293
  - spec/lib/danfe_lib/options_spec.rb
290
294
  - spec/lib/danfe_lib/phone_spec.rb
291
295
  - spec/lib/danfe_lib/plate_spec.rb
@@ -320,4 +324,103 @@ rubygems_version: 2.4.8
320
324
  signing_key:
321
325
  specification_version: 4
322
326
  summary: DANFE pdf generator for Brazilian invoices.
323
- test_files: []
327
+ test_files:
328
+ - spec/features/cce_spec.rb
329
+ - spec/features/danfe_spec.rb
330
+ - spec/fixtures/cce/lib/barcode#render.pdf
331
+ - spec/fixtures/cce/lib/correction#render.pdf
332
+ - spec/fixtures/cce/lib/document#box.pdf
333
+ - spec/fixtures/cce/lib/document#box.with.block.pdf
334
+ - spec/fixtures/cce/lib/document#text.align.pdf
335
+ - spec/fixtures/cce/lib/document#text.pad.pdf
336
+ - spec/fixtures/cce/lib/document#text.simple.pdf
337
+ - spec/fixtures/cce/lib/document#text.size.pdf
338
+ - spec/fixtures/cce/lib/document#text.style.pdf
339
+ - spec/fixtures/cce/lib/footer#render.pdf
340
+ - spec/fixtures/cce/lib/header#render.pdf
341
+ - spec/fixtures/cce/lib/nfe_key#render.pdf
342
+ - spec/fixtures/cce/lib/protocol#render.pdf
343
+ - spec/fixtures/cce/v1.00/cce.fixture.pdf
344
+ - spec/fixtures/cce/v1.00/cce.xml
345
+ - spec/fixtures/logo.png
346
+ - spec/fixtures/nfe/lib/dest#render-v2.00.pdf
347
+ - spec/fixtures/nfe/lib/dest#render-v3.10.pdf
348
+ - spec/fixtures/nfe/lib/dest#render-with_cnpj.pdf
349
+ - spec/fixtures/nfe/lib/dest#render-with_cpf.pdf
350
+ - spec/fixtures/nfe/lib/dest#render-with_ie.pdf
351
+ - spec/fixtures/nfe/lib/det_body#render-csosn.pdf
352
+ - spec/fixtures/nfe/lib/det_body#render-cst.pdf
353
+ - spec/fixtures/nfe/lib/det_body#render-fci.pdf
354
+ - spec/fixtures/nfe/lib/det_body#render-icms_st.pdf
355
+ - spec/fixtures/nfe/lib/det_body#render-quantity_with_custom_precision.pdf
356
+ - spec/fixtures/nfe/lib/det_body#render-unit_price_with_custom_precision.pdf
357
+ - spec/fixtures/nfe/lib/det_header#render.pdf
358
+ - spec/fixtures/nfe/lib/document#lcnpj-blank.pdf
359
+ - spec/fixtures/nfe/lib/document#lcnpj-invalid.pdf
360
+ - spec/fixtures/nfe/lib/document#lcnpj-valid.pdf
361
+ - spec/fixtures/nfe/lib/document#lie-blank.pdf
362
+ - spec/fixtures/nfe/lib/document#lie-invalid.pdf
363
+ - spec/fixtures/nfe/lib/document#lie-valid.pdf
364
+ - spec/fixtures/nfe/lib/dup#render.pdf
365
+ - spec/fixtures/nfe/lib/emit#render.pdf
366
+ - spec/fixtures/nfe/lib/emit_header#render-with_logo.pdf
367
+ - spec/fixtures/nfe/lib/emit_header#render-without_logo.pdf
368
+ - spec/fixtures/nfe/lib/icmstot#render.pdf
369
+ - spec/fixtures/nfe/lib/infadic#render-difal.pdf
370
+ - spec/fixtures/nfe/lib/infadic#render-extra_volume.pdf
371
+ - spec/fixtures/nfe/lib/infadic#render-extra_volume_difal.pdf
372
+ - spec/fixtures/nfe/lib/infadic#render.pdf
373
+ - spec/fixtures/nfe/lib/issqn#render.pdf
374
+ - spec/fixtures/nfe/lib/ticket#render.pdf
375
+ - spec/fixtures/nfe/lib/transp#render-modfrete_0.pdf
376
+ - spec/fixtures/nfe/lib/transp#render-modfrete_1.pdf
377
+ - spec/fixtures/nfe/lib/transp#render-modfrete_2.pdf
378
+ - spec/fixtures/nfe/lib/transp#render-modfrete_9.pdf
379
+ - spec/fixtures/nfe/lib/transp#render.pdf
380
+ - spec/fixtures/nfe/lib/vol#render-blank-boxes.pdf
381
+ - spec/fixtures/nfe/lib/vol#render.pdf
382
+ - spec/fixtures/nfe/v2.00/custom_options.fixture.pdf
383
+ - spec/fixtures/nfe/v2.00/nfe_simples_nacional.xml
384
+ - spec/fixtures/nfe/v2.00/nfe_simples_nacional.xml.fixture.pdf
385
+ - spec/fixtures/nfe/v2.00/nfe_with_extra_volumes.xml
386
+ - spec/fixtures/nfe/v2.00/nfe_with_extra_volumes.xml.fixture.pdf
387
+ - spec/fixtures/nfe/v2.00/nfe_with_fci.xml
388
+ - spec/fixtures/nfe/v2.00/nfe_with_fci.xml.fixture.pdf
389
+ - spec/fixtures/nfe/v2.00/nfe_with_logo.xml
390
+ - spec/fixtures/nfe/v2.00/nfe_with_ns.xml
391
+ - spec/fixtures/nfe/v2.00/nfe_with_ns.xml.fixture.pdf
392
+ - spec/fixtures/nfe/v2.00/nfe_without_ns.xml
393
+ - spec/fixtures/nfe/v2.00/nfe_without_ns.xml.fixture.pdf
394
+ - spec/fixtures/nfe/v3.10/nfe_simples_nacional.xml
395
+ - spec/fixtures/nfe/v3.10/nfe_simples_nacional.xml.fixture.pdf
396
+ - spec/lib/cce_lib/barcode_spec.rb
397
+ - spec/lib/cce_lib/correction_spec.rb
398
+ - spec/lib/cce_lib/document_spec.rb
399
+ - spec/lib/cce_lib/footer_spec.rb
400
+ - spec/lib/cce_lib/header_spec.rb
401
+ - spec/lib/cce_lib/nfe_key_spec.rb
402
+ - spec/lib/cce_lib/protocol_spec.rb
403
+ - spec/lib/danfe_lib/cep_spec.rb
404
+ - spec/lib/danfe_lib/cst_spec.rb
405
+ - spec/lib/danfe_lib/dest_spec.rb
406
+ - spec/lib/danfe_lib/det_body_spec.rb
407
+ - spec/lib/danfe_lib/det_header_spec.rb
408
+ - spec/lib/danfe_lib/document_spec.rb
409
+ - spec/lib/danfe_lib/dup_spec.rb
410
+ - spec/lib/danfe_lib/emit_header_spec.rb
411
+ - spec/lib/danfe_lib/emit_spec.rb
412
+ - spec/lib/danfe_lib/helper_spec.rb
413
+ - spec/lib/danfe_lib/icmstot_spec.rb
414
+ - spec/lib/danfe_lib/infadic_spec.rb
415
+ - spec/lib/danfe_lib/issqn_spec.rb
416
+ - spec/lib/danfe_lib/logo_options_spec.rb
417
+ - spec/lib/danfe_lib/options_spec.rb
418
+ - spec/lib/danfe_lib/phone_spec.rb
419
+ - spec/lib/danfe_lib/plate_spec.rb
420
+ - spec/lib/danfe_lib/ticket_spec.rb
421
+ - spec/lib/danfe_lib/transp_spec.rb
422
+ - spec/lib/danfe_lib/vol_spec.rb
423
+ - spec/lib/danfe_lib/xml_spec.rb
424
+ - spec/lib/danfe_lib/xprod_spec.rb
425
+ - spec/spec_helper.rb
426
+ - spec/support/have_same_content_of.rb