Class: Aranha::Parsers::SourceAddress::File

Inherits:
HttpGet
  • Object
show all
Defined in:
lib/aranha/parsers/source_address/file.rb

Constant Summary collapse

SCHEME =
'file://'

Instance Method Summary collapse

Methods inherited from HttpGet

#==, #final_url, location_uri, #serialize

Methods inherited from Base

#source_as_hash, #source_as_hash?, #source_as_uri, #source_as_uri?, #url

Constructor Details

#initialize(source) ⇒ File

Returns a new instance of File.



12
13
14
# File 'lib/aranha/parsers/source_address/file.rb', line 12

def initialize(source)
  super(source.to_s.gsub(/\A#{Regexp.quote(SCHEME)}/, ''))
end

Instance Method Details

#contentObject



16
17
18
# File 'lib/aranha/parsers/source_address/file.rb', line 16

def content
  ::File.read(source)
end

#uriAddressable::URI

Returns:

  • (Addressable::URI)


21
22
23
# File 'lib/aranha/parsers/source_address/file.rb', line 21

def uri
  source_as_uri? ? source_as_uri : "#{SCHEME}#{source}".to_uri
end

#valid?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/aranha/parsers/source_address/file.rb', line 26

def valid?
  source.to_s.start_with?("#{SCHEME}/", '/')
end