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



7
8
9
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 7

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

.root_pathObject



3
4
5
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 3

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

Instance Method Details

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



20
21
22
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 20

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



31
32
33
34
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 31

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



24
25
26
27
28
29
# File 'lib/wicked_pdf/wicked_pdf_helper.rb', line 24

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


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

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