alego_pdf 2.0.0 → 2.0.1

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
- SHA1:
3
- metadata.gz: c18e67ee692d9a16b56d8a3d9cfde913dd5c344c
4
- data.tar.gz: a769b0fd00f864c4f924c4242752ab28a62a02e9
2
+ SHA256:
3
+ metadata.gz: 5234d9c582405d545e5beeb7ff2300374e532746609e7ca10302ba5fc7b2db03
4
+ data.tar.gz: ecbc8915bfa7be910c9e7514d344d66a5278a385b4f8d3c5c0a996358f119f1f
5
5
  SHA512:
6
- metadata.gz: 1911376a281719e8830569f0d890ebc2e6c21bb1cae6019d4cdaac44feabe02af644adbed26d3b61633c8ab3a7592d2bd81665e3c7c069b05c3cb096539c2e30
7
- data.tar.gz: 0c9007c161e74d0ab7d362fd8b8dbc46a1a52578f92e8fc5ad188e7d47f71f0c29e8e4fdd5bd755c491bf0ebded17ed17bbc708b9bd58a5569f8c1614f03af45
6
+ metadata.gz: 68ecf437cad98773176cd03e1692ac9a7b2df51f13c138c0712cd4c91b3db1ea8fa8389aadebcb17b2f9acb2c901a04741afda27fe75f2d74ae143b6b942875b
7
+ data.tar.gz: 6becf57defb8b8b848f3842c406d97ff210c496c65743c7df5442ccac48e8760c9468b91da67ab9db9a83cfb3538fe92fdcce57a00c799c82da9bd007aed25ed
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.5.1
data/CHANGELOG CHANGED
@@ -0,0 +1,18 @@
1
+ v2.0.1 - 20/09/2022
2
+
3
+ Ajuste:
4
+ 1) Corrigindo gemspec e README
5
+
6
+ ----
7
+
8
+ v2.0.0 - 12/09/2022
9
+
10
+ Novidade:
11
+ 1) Gem alego_pdf que junta 1 ou mais PDF's num mesmo arquivo via model e ids passados por parâmetro.
12
+
13
+ ----
14
+
15
+ v1.0.0 - 09/09/2022
16
+
17
+ Lançamento:
18
+ 1) Nova gem alego_pdf que junta 1 ou mais PDF's num mesmo arquivo via URL's.
data/Gemfile CHANGED
@@ -2,5 +2,3 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in alego_pdf.gemspec
4
4
  gemspec
5
-
6
- gem "rake", "~> 12.0"
data/Gemfile.lock CHANGED
@@ -1,112 +1,34 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- alego_pdf (1.0.0)
5
- factory_bot_rails
4
+ alego_pdf (2.0.1)
6
5
  hexapdf
7
6
  open-uri
8
- rspec-rails
9
7
 
10
8
  GEM
11
9
  remote: https://rubygems.org/
12
10
  specs:
13
- actionpack (7.0.3.1)
14
- actionview (= 7.0.3.1)
15
- activesupport (= 7.0.3.1)
16
- rack (~> 2.0, >= 2.2.0)
17
- rack-test (>= 0.6.3)
18
- rails-dom-testing (~> 2.0)
19
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
20
- actionview (7.0.3.1)
21
- activesupport (= 7.0.3.1)
22
- builder (~> 3.1)
23
- erubi (~> 1.4)
24
- rails-dom-testing (~> 2.0)
25
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
26
- activesupport (7.0.3.1)
27
- concurrent-ruby (~> 1.0, >= 1.0.2)
28
- i18n (>= 1.6, < 2)
29
- minitest (>= 5.1)
30
- tzinfo (~> 2.0)
31
- builder (3.2.4)
32
11
  cmdparse (3.0.7)
33
- concurrent-ruby (1.1.10)
34
- crass (1.0.6)
35
12
  date (3.2.2)
36
- diff-lcs (1.5.0)
37
- erubi (1.11.0)
38
- factory_bot (6.2.1)
39
- activesupport (>= 5.0.0)
40
- factory_bot_rails (6.2.0)
41
- factory_bot (~> 6.2.0)
42
- railties (>= 5.0.0)
43
13
  geom2d (0.3.1)
44
14
  hexapdf (0.24.2)
45
15
  cmdparse (~> 3.0, >= 3.0.3)
46
16
  geom2d (~> 0.3)
47
- i18n (1.12.0)
48
- concurrent-ruby (~> 1.0)
49
- loofah (2.18.0)
50
- crass (~> 1.0.2)
51
- nokogiri (>= 1.5.9)
52
- method_source (1.0.0)
53
- minitest (5.16.3)
54
- nokogiri (1.13.8-x86_64-darwin)
55
- racc (~> 1.4)
56
17
  open-uri (0.2.0)
57
18
  stringio
58
19
  time
59
20
  uri
60
- racc (1.6.0)
61
- rack (2.2.4)
62
- rack-test (2.0.2)
63
- rack (>= 1.3)
64
- rails-dom-testing (2.0.3)
65
- activesupport (>= 4.2.0)
66
- nokogiri (>= 1.6)
67
- rails-html-sanitizer (1.4.3)
68
- loofah (~> 2.3)
69
- railties (7.0.3.1)
70
- actionpack (= 7.0.3.1)
71
- activesupport (= 7.0.3.1)
72
- method_source
73
- rake (>= 12.2)
74
- thor (~> 1.0)
75
- zeitwerk (~> 2.5)
76
- rake (12.3.3)
77
- rspec-core (3.11.0)
78
- rspec-support (~> 3.11.0)
79
- rspec-expectations (3.11.0)
80
- diff-lcs (>= 1.2.0, < 2.0)
81
- rspec-support (~> 3.11.0)
82
- rspec-mocks (3.11.1)
83
- diff-lcs (>= 1.2.0, < 2.0)
84
- rspec-support (~> 3.11.0)
85
- rspec-rails (5.1.2)
86
- actionpack (>= 5.2)
87
- activesupport (>= 5.2)
88
- railties (>= 5.2)
89
- rspec-core (~> 3.10)
90
- rspec-expectations (~> 3.10)
91
- rspec-mocks (~> 3.10)
92
- rspec-support (~> 3.10)
93
- rspec-support (3.11.0)
94
21
  stringio (3.0.2)
95
- thor (1.2.1)
96
22
  time (0.2.0)
97
23
  date
98
- tzinfo (2.0.5)
99
- concurrent-ruby (~> 1.0)
100
24
  uri (0.11.0)
101
- zeitwerk (2.6.0)
102
25
 
103
26
  PLATFORMS
104
- x86_64-darwin-19
27
+ ruby
105
28
 
106
29
  DEPENDENCIES
107
30
  alego_pdf!
108
31
  bundler
109
- rake (~> 12.0)
110
32
 
111
33
  BUNDLED WITH
112
- 2.2.21
34
+ 2.1.4
data/README.md CHANGED
@@ -25,8 +25,8 @@ Ou instale isto você mesmo usando o comando:
25
25
 
26
26
  ## Uso
27
27
  A gem 'alego_pdf' depende da gem 'hexapdf' para fazer a juntada de arquivos.
28
- Veja mais sobre a gem 'hexapdf' no Github: https://github.com/gettalong/hexapdf
29
- A gem 'alego_pdf' busca os objeto faz a leitura dos arquivos via URI e Tempfile e a gem 'hexapdf' junta-os. Veja o exemplo na gem alego_pdf:
28
+ Veja mais sobre a gem 'hexapdf' no Github: https://github.com/gettalong/hexapdf.
29
+ A gem 'alego_pdf' busca os objetos, faz a leitura dos arquivos via URI e Tempfile e a gem 'hexapdf' junta-os. Veja o exemplo na gem alego_pdf:
30
30
  ```
31
31
  require 'hexapdf'
32
32
  require 'open-uri'
@@ -46,9 +46,9 @@ module AlegoPdf
46
46
  array = model.is_a?(String) ? model.camelize.constantize.where(id: ids) : model.where(id: ids)
47
47
  target = HexaPDF::Document.new
48
48
 
49
- array.each do |objeto|
50
- file = objeto[attribute]
51
- filepath = file.try(:url) || objeto.try(:arquivo_url)
49
+ array.each do |object|
50
+ file = object[attribute]
51
+ filepath = file.try(:url) || object.try(:arquivo_url)
52
52
 
53
53
  next if filepath.blank?
54
54
 
@@ -66,38 +66,38 @@ module AlegoPdf
66
66
  end
67
67
  end
68
68
  ```
69
- Obs.: Os parâmetros 'ids', 'model' e 'attribute' são obrigatórios. O parâmetro 'filename' é por default 'tmp/merge_files.pdf', porém pode-se atribuir um caminho pré-definido.
70
- Após instalar a gem 'alego_pdf', deve criar uma rota '/rota_merge_arquivos' e deve buscar os ids dos arquivos e passá-los como parâmetro junto com o model e o atributo que onde é guardado os metadados dos arquivos. A gem procura também por um atributo chamado 'arquivo_url', caso não encontre a 'url' (ex.: attribute.try(:url)) Veja o exemplo a seguir:
69
+ Obs.: Os parâmetros 'ids', 'model' e 'attribute' são obrigatórios. O parâmetro 'filename' é por default 'tmp/merge_files.pdf', porém pode-se atribuir um caminho pré-definido. o atributo 'filename' será o local e nome onde será salvo o arquivo temporário.
70
+ Após instalar a gem 'alego_pdf', deve criar uma rota '/merge_arquivos' e deve buscar os ids dos arquivos e passá-los como parâmetro junto com o model e o atributo que onde é guardado os metadados dos arquivos. A gem procura também por um atributo chamado 'arquivo_url', caso não encontre a 'url' (ex.: attribute.try(:url)) Veja o exemplo a seguir:
71
71
  ```
72
- # organogramas_controller.rb
73
- def merge_arquivos
74
- organograma_ids = ::Transparencia::Organograma.order('data desc').map(&:id)
75
-
76
- respond_to do |format|
77
- format.html
78
- format.pdf do
79
- filename = 'tmp/organogramas.pdf' # nome e local onde será salvo o arquivo temporário
80
- AlegoPdf::Merging.new(organograma_ids, ::Transparencia::Organograma, :arquivo, filename).call
81
-
82
- pdf_filename = File.join(Rails.root, filename)
83
- send_file(pdf_filename, filename: 'organogramas.pdf', type: 'application/pdf')
84
- end
72
+ # organogramas_controller.rb
73
+ def merge_arquivos
74
+ organograma_ids = ::Transparencia::Organograma.order('data desc').map(&:id)
75
+
76
+ respond_to do |format|
77
+ format.html
78
+ format.pdf do
79
+ filename = 'tmp/organogramas.pdf' # nome e local onde será salvo o arquivo temporário
80
+ AlegoPdf::Merging.new(organograma_ids, ::Transparencia::Organograma, :arquivo, filename).call
81
+
82
+ pdf_filename = File.join(Rails.root, filename)
83
+ send_file(pdf_filename, filename: 'organogramas.pdf', type: 'application/pdf')
85
84
  end
86
85
  end
86
+ end
87
87
  ```
88
- PS: caso não exista nenhum arquivo, é feito download de uma página em branco, portanto certifique-se que contenha ao menos 1 objeto com upload PDF antes fazer a chamada AlegoPdf::Merging ou apresentar o botão na view que chama a rota e faz o download dos arquivos. Veja o exemplo:
88
+ PS: caso não exista nenhum arquivo, é feito download de uma página em branco, portanto certifique-se que contenha ao menos 1 objeto com upload PDF antes de fazer a chamada AlegoPdf::Merging ou apresentar o botão na view que chama a rota e faz o download dos arquivos. Veja o exemplo:
89
89
  ```
90
- // index.html.erb
91
- <% @organograma_pdf_any = ::Transparencia::Organograma.any?(&:arquivo_url) # verifica se existe ao menos 1 url do arquivo %>
92
-
93
- <% if @organograma_pdf_any %>
94
- <a href="/organogramas/merge_arquivos.pdf" target="_blank" title="Juntar arquivos" class="bt bt--secundario">
95
- Todos organogramas
96
- <svg class="ico">
97
- <use xlink:href="<%= asset_path('ico.svg#download') %>" />
98
- </svg>
99
- </a>
100
- <% end %>
90
+ // index.html.erb
91
+ <% @organograma_pdf_any = ::Transparencia::Organograma.any?(&:arquivo_url) # verifica se existe ao menos 1 url do arquivo %>
92
+
93
+ <% if @organograma_pdf_any %>
94
+ <a href="/organogramas/merge_arquivos.pdf" target="_blank" title="Juntar arquivos" class="bt bt--secundario">
95
+ Todos organogramas
96
+ <svg class="ico">
97
+ <use xlink:href="<%= asset_path('ico.svg#download') %>" />
98
+ </svg>
99
+ </a>
100
+ <% end %>
101
101
  ```
102
102
  ## Contribuição
103
103
 
data/alego_pdf.gemspec CHANGED
@@ -1,18 +1,18 @@
1
1
  require_relative 'lib/alego_pdf/version'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
- spec.name = 'alego_pdf'
5
- spec.version = AlegoPdf::VERSION
6
- spec.authors = ['Rodrigo de Sá']
7
- spec.email = ['rodrigo.sa@al.go.leg.br']
8
- spec.homepage = 'https://gitlab.al.go.leg.br/sistemas/gem/alego_pdf'
9
- spec.summary = "Gem responsible for joining 1 or more PDF in the same file."
10
- spec.description = "Gem responsible for joining 1 or more PDF in the same file."
11
- spec.license = 'MIT'
4
+ spec.name = 'alego_pdf'
5
+ spec.version = AlegoPdf::VERSION
6
+ spec.author = 'Rodrigo de Sá'
7
+ spec.email = ['rodrigo.sa@al.go.leg.br']
8
+ spec.homepage = 'https://gitlab.al.go.leg.br/sistemas/gem/alego_pdf'
9
+ spec.summary = "Gem responsible for joining 1 or more PDF in the same file."
10
+ spec.description = "Gem responsible for joining 1 or more PDF in the same file."
11
+ spec.license = 'MIT'
12
12
  spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
13
13
 
14
14
  begin
15
- s.metadata['allowed_push_host'] = ENV['GEM_SERVER'] || ''
15
+ spec.metadata['allowed_push_host'] = "https://rubygems.org"
16
16
  rescue StandardError
17
17
  end
18
18
 
@@ -30,12 +30,8 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ['lib']
32
32
 
33
- spec.add_development_dependency 'bundler' # , '~> 1.2', '>= 1.2.0'
34
- spec.add_development_dependency 'rake' # , "~> 11.2.2"
35
-
36
- spec.add_runtime_dependency 'factory_bot_rails' # , "~> 4.4.1"
33
+ spec.add_development_dependency 'bundler'
37
34
 
38
35
  spec.add_dependency 'hexapdf' # , "~> 0.24.0"
39
36
  spec.add_dependency 'open-uri' # , "~> 0.2.0"
40
- spec.add_dependency 'rspec-rails' # , "~> 3.0.0.beta"
41
37
  end
@@ -1,3 +1,3 @@
1
1
  module AlegoPdf
2
- VERSION = '2.0.0'
2
+ VERSION = '2.0.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alego_pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo de Sá
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-12 00:00:00.000000000 Z
11
+ date: 2022-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,34 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: factory_bot_rails
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
27
  - !ruby/object:Gem::Dependency
56
28
  name: hexapdf
57
29
  requirement: !ruby/object:Gem::Requirement
@@ -80,20 +52,6 @@ dependencies:
80
52
  - - ">="
81
53
  - !ruby/object:Gem::Version
82
54
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: rspec-rails
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
55
  description: Gem responsible for joining 1 or more PDF in the same file.
98
56
  email:
99
57
  - rodrigo.sa@al.go.leg.br
@@ -101,13 +59,13 @@ executables: []
101
59
  extensions: []
102
60
  extra_rdoc_files: []
103
61
  files:
62
+ - ".ruby-version"
104
63
  - CHANGELOG
105
64
  - Gemfile
106
65
  - Gemfile.lock
107
66
  - MIT-LICENSE
108
67
  - README.md
109
68
  - Rakefile
110
- - alego_pdf-1.0.0.gem
111
69
  - alego_pdf.gemspec
112
70
  - bin/console
113
71
  - bin/setup
@@ -118,6 +76,7 @@ homepage: https://gitlab.al.go.leg.br/sistemas/gem/alego_pdf
118
76
  licenses:
119
77
  - MIT
120
78
  metadata:
79
+ allowed_push_host: https://rubygems.org
121
80
  homepage_uri: https://gitlab.al.go.leg.br/sistemas/gem/alego_pdf
122
81
  post_install_message:
123
82
  rdoc_options: []
@@ -135,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
94
  version: '0'
136
95
  requirements: []
137
96
  rubyforge_project:
138
- rubygems_version: 2.6.14.4
97
+ rubygems_version: 2.7.6
139
98
  signing_key:
140
99
  specification_version: 4
141
100
  summary: Gem responsible for joining 1 or more PDF in the same file.
data/alego_pdf-1.0.0.gem DELETED
Binary file