rails-latex 1.0.10 → 1.0.11

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.
data/README.rdoc CHANGED
@@ -1,8 +1,8 @@
1
1
  = Rails-LaTeX
2
2
 
3
3
  * Git: http://github.com/jacott/rails-latex
4
- * Author: Geoff Jacobsen
5
- * Copyright: 2009-2010
4
+ * Author: Geoff Jacobsen
5
+ * Copyright: 2009-2010
6
6
  * License: MIT-LICENSE
7
7
 
8
8
  == Description
@@ -22,7 +22,7 @@ app/views/stories/show.html.erb:
22
22
 
23
23
 
24
24
  app/views/stories/show.pdf.erb:
25
- ...
25
+ ...
26
26
  <%= lesc @story.name % >
27
27
 
28
28
  app/views/layouts/application.pdf.erbtex:
@@ -33,7 +33,7 @@ app/views/layouts/application.pdf.erbtex:
33
33
 
34
34
 
35
35
  config/initializers/mime_types.rb:
36
- ...
36
+ ...
37
37
  Mime::Type.register "application/pdf", :pdf, ['text/pdf'], ['pdf']
38
38
 
39
39
 
@@ -48,12 +48,16 @@ You can override the defaults like so:
48
48
 
49
49
  LatexToPdf.config.merge! :command => 'xetex', :arguments => ['-etex'], :parse_twice => true
50
50
 
51
+ or to change just the arguments:
52
+
53
+ LatexToPdf.config[:arguments].delete('-halt-on-error')
54
+
51
55
  The defaults are:
52
56
  command: 'pdflatex'
53
- arguments: []
57
+ arguments: ['-halt-on-error']
54
58
  parse_twice: false
55
59
 
56
- The last log file is moved to tmp/rails-latex/input.log . If the PDF is no produced the build directory is not removed;
60
+ The last log file is moved to tmp/rails-latex/input.log . If the PDF is not produced the build directory is not removed;
57
61
  an archive script should be written to occasionally clean up the tmp/rails-latex directory.
58
62
 
59
63
  See the rails application under examples/rails-latex-demo/ for a working example.
@@ -76,7 +80,7 @@ Then in your mailer:
76
80
  def email_sender(user, pdf_attachment)
77
81
  @user = user
78
82
  attachments["attachment_name.pdf"] = {:mime_type => 'application/pdf', :content => pdf_attachment}
79
- mail( .... )
83
+ mail( .... )
80
84
  end
81
85
 
82
86
  == Requirements
@@ -7,10 +7,8 @@ class LatexExampleController < ApplicationController
7
7
  end
8
8
 
9
9
  def barcode_as_string
10
-
11
- old_content_type = self.content_type
12
10
  @pdf=render_to_string(action: 'barcode', layout: "barcode", formats: [:pdf])
13
- self.content_type = old_content_type # render_to_string changes content_type
11
+ self.content_type = 'text/html'
14
12
 
15
13
  File.open(file="#{Rails.root}/tmp/a.pdf",'w:binary') do |io|
16
14
  io.write(@pdf)
@@ -1,6 +1,6 @@
1
1
  class LatexToPdf
2
2
  def self.config
3
- @config||={:command => 'pdflatex', :arguments => [], :parse_twice => false}
3
+ @config||={:command => 'pdflatex', :arguments => ['-halt-on-error'], :parse_twice => false}
4
4
  end
5
5
 
6
6
  # Converts a string of LaTeX +code+ into a binary string of PDF.
@@ -24,7 +24,7 @@ class LatexToPdf
24
24
  Dir.chdir dir
25
25
  STDOUT.reopen("input.log","a")
26
26
  STDERR.reopen(STDOUT)
27
- args=config[:arguments] + %w[-shell-escape -interaction batchmode -halt-on-error input.tex]
27
+ args=config[:arguments] + %w[-shell-escape -interaction batchmode input.tex]
28
28
  system config[:command],'-draftmode',*args if parse_twice
29
29
  exec config[:command],*args
30
30
  rescue
@@ -1,5 +1,5 @@
1
1
  module Rails
2
2
  module Latex
3
- VERSION = "1.0.10"
3
+ VERSION = "1.0.11"
4
4
  end
5
5
  end
@@ -0,0 +1,7 @@
1
+ \documentclass{article}
2
+
3
+ \begin{document}
4
+
5
+ file with \nosuchcommand\ error
6
+
7
+ \end{document}
@@ -1,3 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  require 'helper'
2
3
  require 'rails-latex/erb_latex'
3
4
  require 'ostruct'
@@ -5,7 +6,13 @@ require 'ostruct'
5
6
  Rails=OpenStruct.new(:root => TMP_DIR=File.expand_path("../tmp",__FILE__))
6
7
 
7
8
  class TestLatexToPdf < Test::Unit::TestCase
9
+ def setup
10
+ super
11
+ FileUtils.rm_rf("#{TMP_DIR}/tmp/rails-latex")
12
+ end
13
+
8
14
  def teardown
15
+ super
9
16
  LatexToPdf.instance_eval { @config=nil }
10
17
  end
11
18
 
@@ -26,6 +33,22 @@ class TestLatexToPdf < Test::Unit::TestCase
26
33
  assert_equal "dsf \\textless{} \\textgreater{} \\& ! @ \\# \\$ \\% \\^{} \\~{} \\textbackslash{} fds", LatexToPdf.escape_latex('dsf < > & ! @ # $ % ^ ~ \\ fds')
27
34
  end
28
35
 
36
+ def test_broken_doc_halt_on_error
37
+ begin
38
+ LatexToPdf.generate_pdf(IO.read(File.expand_path('../test_broken_doc.tex',__FILE__)),{})
39
+ fail "Should throw exception"
40
+ rescue => e
41
+ assert(/^pdflatex failed: See / =~ e.message)
42
+ end
43
+ end
44
+
45
+ def test_broken_doc_overriding_halt_on_error
46
+ pdf_file=write_pdf do
47
+ LatexToPdf.generate_pdf(IO.read(File.expand_path('../test_broken_doc.tex',__FILE__)),{arguments: []})
48
+ end
49
+ assert_equal "file with error\n\n1\n\n\f", `pdftotext #{pdf_file} -`
50
+ end
51
+
29
52
  def test_generate_pdf_one_parse
30
53
  pdf_file=write_pdf do
31
54
  LatexToPdf.generate_pdf(IO.read(File.expand_path('../test_doc.tex',__FILE__)),{})
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-latex
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.10
4
+ version: 1.0.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-18 00:00:00.000000000 Z
12
+ date: 2012-09-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -95,6 +95,7 @@ files:
95
95
  - lib/rails-latex/version.rb
96
96
  - rails-latex.gemspec
97
97
  - test/helper.rb
98
+ - test/test_broken_doc.tex
98
99
  - test/test_doc.tex
99
100
  - test/test_latex_to_pdf.rb
100
101
  homepage: http://github.com/jacott/rails-latex
@@ -118,9 +119,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
119
  version: '0'
119
120
  requirements: []
120
121
  rubyforge_project:
121
- rubygems_version: 1.8.19
122
+ rubygems_version: 1.8.23
122
123
  signing_key:
123
124
  specification_version: 3
124
125
  summary: A LaTeX to pdf rails 3 renderer.
125
126
  test_files: []
126
- has_rdoc: