Module: WickedPdf::WickedPdfHelper

Defined in:
lib/wicked_pdf/wicked_pdf_helper.rb,
lib/wicked_pdf/wicked_pdf_helper/assets.rb

Defined Under Namespace

Modules: Assets

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.add_extension(filename, extension) ⇒ Object



9
10
11
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 9

def self.add_extension(filename, extension)
  filename.to_s.split('.').include?(extension) ? filename : "#{filename}.#{extension}"
end

.root_pathObject



5
6
7
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 5

def self.root_path
  String === Rails.root ? Pathname.new(Rails.root) : Rails.root
end

Instance Method Details

#wicked_pdf_image_tag(img, options = {}) ⇒ Object



22
23
24
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 22

def wicked_pdf_image_tag(img, options = {})
  image_tag "file:///#{WickedPdfHelper.root_path.join('public', 'images', img)}", options
end

#wicked_pdf_javascript_include_tag(*sources) ⇒ Object



33
34
35
36
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 33

def wicked_pdf_javascript_include_tag(*sources)
  js_text = sources.collect { |source| wicked_pdf_javascript_src_tag(source, {}) }.join("\n")
  js_text.respond_to?(:html_safe) ? js_text.html_safe : js_text
end

#wicked_pdf_javascript_src_tag(jsfile, options = {}) ⇒ Object



26
27
28
29
30
31
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 26

def wicked_pdf_javascript_src_tag(jsfile, options = {})
  jsfile = WickedPdfHelper.add_extension(jsfile, 'js')
  type = ::Mime.respond_to?(:[]) ? ::Mime[:js] : ::Mime::JS # ::Mime[:js] cannot be used in Rails 2.3.
  src = "file:///#{WickedPdfHelper.root_path.join('public', 'javascripts', jsfile)}"
  ('script', '', { 'type' => type, 'src' => path_to_javascript(src) }.merge(options))
end


13
14
15
16
17
18
19
20
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 13

def wicked_pdf_stylesheet_link_tag(*sources)
  css_dir = WickedPdfHelper.root_path.join('public', 'stylesheets')
  css_text = sources.collect do |source|
    source = WickedPdfHelper.add_extension(source, 'css')
    "<style type='text/css'>#{File.read(css_dir.join(source))}</style>"
  end.join("\n")
  css_text.respond_to?(:html_safe) ? css_text.html_safe : css_text
end