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.