class Rabbit::Source::URI
Public Class Methods
Source
# File lib/rabbit/source/uri.rb, line 42 def initial_args_description N_("URI") end
Source
# File lib/rabbit/source/uri.rb, line 30 def new(encoding, logger, uri) parsed_uri = ::URI.parse(uri) case parsed_uri.scheme when nil File.new(encoding, logger, parsed_uri.path) when /\Afile\z/i File.new(encoding, logger, uri.gsub(/\Afile:\/\//i, "")) else super end end
Calls superclass method
Rabbit::Source::LimitAccessInterval::new
Source
# File lib/rabbit/source/uri.rb, line 47 def initialize(encoding, logger, uri) @uri = ::URI.parse(uri) super(encoding, logger) @last_modified = nil end
Calls superclass method
Rabbit::Source::LimitAccessInterval::new
Public Instance Methods
Source
# File lib/rabbit/source/uri.rb, line 57 def extension extract_extension(@uri.path) end
Source
# File lib/rabbit/source/uri.rb, line 53 def need_read? super or old?(@last_modified, :last_modified) end
Calls superclass method
Rabbit::Source::Base#need_read?
Private Instance Methods
Source
# File lib/rabbit/source/uri.rb, line 62 def _read begin @uri.open do |f| @last_modified = f.last_modified f.read end rescue @logger.error($!.message) @last_modified = Time.now + MINIMUM_ACCESS_TIME +"" end end
Source
# File lib/rabbit/source/uri.rb, line 75 def init_base base = @uri.dup base.path = ::File.dirname(base.path) set_base(base.to_s) end
Source
# File lib/rabbit/source/uri.rb, line 81 def last_modified begin @uri.open do |f| f.last_modified end rescue @logger.error($!.message) Time.now end end