class PDFKit::Source

Constants

SOURCE_FROM_STDIN

Public Class Methods

new(url_file_or_html) click to toggle source
# File lib/pdfkit/source.rb, line 7
def initialize(url_file_or_html)
  @source = url_file_or_html
end

Public Instance Methods

file?() click to toggle source
# File lib/pdfkit/source.rb, line 15
def file?
  @is_file ||= @source.kind_of?(File)
end
html?() click to toggle source
# File lib/pdfkit/source.rb, line 19
def html?
  @is_html ||= !(url? || file?)
end
to_input_for_command() click to toggle source
# File lib/pdfkit/source.rb, line 23
def to_input_for_command
  if file?
    @source.path
  elsif url?
    %Q{"#{shell_safe_url}"}
  else
    SOURCE_FROM_STDIN
  end
end
to_s() click to toggle source
# File lib/pdfkit/source.rb, line 33
def to_s
  file? ? @source.path : @source
end
url?() click to toggle source
# File lib/pdfkit/source.rb, line 11
def url?
  @is_url ||= @source.is_a?(String) && @source.match(/\Ahttp/)
end

Private Instance Methods

shell_safe_url() click to toggle source
# File lib/pdfkit/source.rb, line 39
def shell_safe_url
  url_needs_escaping? ? URI::escape(@source) : @source
end
url_needs_escaping?() click to toggle source
# File lib/pdfkit/source.rb, line 43
def url_needs_escaping?
  URI::decode(@source) == @source
end