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 10 def initialize(url_file_or_html) @source = url_file_or_html # @source is assumed to be modifiable, so make sure it is. @source = @source.dup if @source.is_a?(String) && @source.frozen? end
Public Instance Methods
file?()
click to toggle source
# File lib/pdfkit/source.rb, line 20 def file? @is_file ||= @source.kind_of?(File) || @source.kind_of?(Tempfile) end
html?()
click to toggle source
# File lib/pdfkit/source.rb, line 24 def html? @is_html ||= !(url? || file?) end
to_input_for_command()
click to toggle source
# File lib/pdfkit/source.rb, line 28 def to_input_for_command if file? @source.path elsif url? escaped_url else SOURCE_FROM_STDIN end end
to_s()
click to toggle source
# File lib/pdfkit/source.rb, line 38 def to_s file? ? @source.path : @source end
url?()
click to toggle source
# File lib/pdfkit/source.rb, line 16 def url? @is_url ||= @source.is_a?(String) && @source.match(/\Ahttp/) end
Private Instance Methods
escaped_url()
click to toggle source
# File lib/pdfkit/source.rb, line 44 def escaped_url url_needs_escaping? ? URI::DEFAULT_PARSER.escape(@source) : @source end
url_needs_escaping?()
click to toggle source
# File lib/pdfkit/source.rb, line 48 def url_needs_escaping? URI::DEFAULT_PARSER.escape(URI::DEFAULT_PARSER.unescape(@source)) != @source end