README.md in alego_pdf-2.0.0 vs README.md in alego_pdf-2.0.1
- old
+ new
@@ -23,12 +23,12 @@
$ gem install alego_pdf
## Uso
A gem 'alego_pdf' depende da gem 'hexapdf' para fazer a juntada de arquivos.
-Veja mais sobre a gem 'hexapdf' no Github: https://github.com/gettalong/hexapdf
-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:
+Veja mais sobre a gem 'hexapdf' no Github: https://github.com/gettalong/hexapdf.
+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:
```
require 'hexapdf'
require 'open-uri'
module AlegoPdf
@@ -44,13 +44,13 @@
def call
array = model.is_a?(String) ? model.camelize.constantize.where(id: ids) : model.where(id: ids)
target = HexaPDF::Document.new
- array.each do |objeto|
- file = objeto[attribute]
- filepath = file.try(:url) || objeto.try(:arquivo_url)
+ array.each do |object|
+ file = object[attribute]
+ filepath = file.try(:url) || object.try(:arquivo_url)
next if filepath.blank?
uri = URI.parse(filepath).open(&:read)
tempfile = Tempfile.new
@@ -64,41 +64,41 @@
target.write(filename, optimize: true)
end
end
end
```
-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.
-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:
+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.
+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:
```
- # organogramas_controller.rb
- def merge_arquivos
- organograma_ids = ::Transparencia::Organograma.order('data desc').map(&:id)
+# organogramas_controller.rb
+def merge_arquivos
+ organograma_ids = ::Transparencia::Organograma.order('data desc').map(&:id)
- respond_to do |format|
- format.html
- format.pdf do
- filename = 'tmp/organogramas.pdf' # nome e local onde será salvo o arquivo temporário
- AlegoPdf::Merging.new(organograma_ids, ::Transparencia::Organograma, :arquivo, filename).call
+ respond_to do |format|
+ format.html
+ format.pdf do
+ filename = 'tmp/organogramas.pdf' # nome e local onde será salvo o arquivo temporário
+ AlegoPdf::Merging.new(organograma_ids, ::Transparencia::Organograma, :arquivo, filename).call
- pdf_filename = File.join(Rails.root, filename)
- send_file(pdf_filename, filename: 'organogramas.pdf', type: 'application/pdf')
- end
+ pdf_filename = File.join(Rails.root, filename)
+ send_file(pdf_filename, filename: 'organogramas.pdf', type: 'application/pdf')
end
end
+end
```
-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:
+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:
```
- // index.html.erb
- <% @organograma_pdf_any = ::Transparencia::Organograma.any?(&:arquivo_url) # verifica se existe ao menos 1 url do arquivo %>
+// index.html.erb
+<% @organograma_pdf_any = ::Transparencia::Organograma.any?(&:arquivo_url) # verifica se existe ao menos 1 url do arquivo %>
- <% if @organograma_pdf_any %>
- <a href="/organogramas/merge_arquivos.pdf" target="_blank" title="Juntar arquivos" class="bt bt--secundario">
- Todos organogramas
- <svg class="ico">
- <use xlink:href="<%= asset_path('ico.svg#download') %>" />
- </svg>
- </a>
- <% end %>
+<% if @organograma_pdf_any %>
+ <a href="/organogramas/merge_arquivos.pdf" target="_blank" title="Juntar arquivos" class="bt bt--secundario">
+ Todos organogramas
+ <svg class="ico">
+ <use xlink:href="<%= asset_path('ico.svg#download') %>" />
+ </svg>
+ </a>
+<% end %>
```
## Contribuição
Relatórios de bugs e pull requests são bem-vindos no GitLab em https://gitlab.al.go.leg.br/sistemas/gem/alego_pdf.