acts_as_flying_saucer 0.0.9 → 1.0.0

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.markdown CHANGED
@@ -45,6 +45,8 @@ It accepts the same options as ActionController::Base#render plus the following
45
45
  :clean - (boolean expected) It cleans up html using tidy (It uses tidy_ffi gem) default is false
46
46
 
47
47
  :send_to_client - (boolean expected) If it is false it returns output pdf and attachment is not sent to client.
48
+
49
+ :url - url can be file path or any http url (with http or https) or string. This will generated pdf from file,url or string.
48
50
 
49
51
  class FooController < ActionController::Base
50
52
  acts_as_flying_saucer
@@ -115,12 +117,15 @@ Sinatra
115
117
  Ruby
116
118
  ----
117
119
  class Pdf
118
- def generate_pdf(input_file_html,output_pdf)
119
- options = ActsAsFlyingSaucer::Config.options.merge({:input_file=>input_file_html,:output_file=>output_pdf})
120
- ActsAsFlyingSaucer::Xhtml2Pdf.write_pdf(options)
120
+ include ActsAsFlyingSaucer::Controller
121
+ acts_as_flying_saucer
122
+ def generate_pdf(input_file_html_or_string,output_pdf)
123
+ options = ActsAsFlyingSaucer::Config.options.merge({:url=>input_file_html_or_string,:pdf_file=>output_pdf})
124
+ render_pdf(options)
121
125
  end
122
126
  end
123
127
 
128
+
124
129
  Configuration
125
130
  -------------
126
131
 
@@ -3,6 +3,8 @@ require 'acts_as_flying_saucer/xhtml2pdf'
3
3
  require 'acts_as_flying_saucer/acts_as_flying_saucer_controller'
4
4
  require 'nailgun'
5
5
  require 'tidy_ffi'
6
+ require 'net/http'
7
+ require 'uri'
6
8
  if defined?(Rails)
7
9
  ActionController::Base.send(:include, ActsAsFlyingSaucer::Controller)
8
10
  elsif defined?(Sinatra)
@@ -29,14 +29,18 @@ module ActsAsFlyingSaucer
29
29
  # render_pdf
30
30
  #
31
31
  def render_pdf(options = {})
32
-
33
- # host = ActionController::Base.asset_host
34
- # ActionController::Base.asset_host = request.protocol + request.host_with_port if host.blank?
35
- #
36
- # logger.debug("#{host} - #{host.nil?} - #{ActionController::Base.asset_host}")
37
- tidy_clean = options[:clean] || false
32
+ tidy_clean = options[:clean] || false
38
33
  self.pdf_mode = :create
39
- if defined?(Rails)
34
+ if options[:url]
35
+ tidy_clean = true
36
+ if options[:url].match(/\Ahttp/)
37
+ html = Net::HTTP.get_response(URI.parse(options[:url])).body rescue options[:url]
38
+ elsif File.exist?(options[:url])
39
+ html = File.read(options[:url]) rescue ""
40
+ else
41
+ html = options[:url]
42
+ end
43
+ elsif defined?(Rails)
40
44
  host = ActionController::Base.asset_host
41
45
  ActionController::Base.asset_host = request.protocol + request.host_with_port if host.blank?
42
46
  html = render_to_string options
@@ -55,7 +59,7 @@ module ActsAsFlyingSaucer
55
59
  end
56
60
  # saving the file
57
61
  tmp_dir = ActsAsFlyingSaucer::Config.options[:tmp_path]
58
- html = TidyFFI::Tidy.new(html).clean if tidy_clean
62
+ html = TidyFFI::Tidy.new(html,:output_xhtml=>true).clean if tidy_clean
59
63
  html_digest = Digest::MD5.hexdigest(html)
60
64
  input_file =File.join(File.expand_path("#{tmp_dir}"),"#{html_digest}.html")
61
65
 
@@ -1,3 +1,3 @@
1
1
  module ActsAsFlyingSaucer
2
- VERSION = "0.0.9"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_flying_saucer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
+ - 1
7
8
  - 0
8
9
  - 0
9
- - 9
10
- version: 0.0.9
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Amar Daxini
@@ -15,7 +15,8 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-24 00:00:00 Z
18
+ date: 2011-10-31 00:00:00 +05:30
19
+ default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: nailgun
@@ -68,6 +69,7 @@ files:
68
69
  - lib/acts_as_flying_saucer/java/src/encryptPdf.java
69
70
  - lib/acts_as_flying_saucer/version.rb
70
71
  - lib/acts_as_flying_saucer/xhtml2pdf.rb
72
+ has_rdoc: true
71
73
  homepage: http://rubygems.org/gems/acts_as_flying_saucer
72
74
  licenses: []
73
75
 
@@ -97,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
99
  requirements: []
98
100
 
99
101
  rubyforge_project: acts_as_flying_saucer
100
- rubygems_version: 1.8.5
102
+ rubygems_version: 1.4.2
101
103
  signing_key:
102
104
  specification_version: 3
103
105
  summary: XHTML to PDF using Flying Saucer java library