Class: CruiseStatus::FeedParser

Inherits:
Object
  • Object
show all
Defined in:
lib/cruisestatus/feed_parser.rb

Direct Known Subclasses

CruiseRbParser, RunCodeRunParser

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url_or_io) ⇒ FeedParser

Returns a new instance of FeedParser.



14
15
16
17
18
19
20
21
22
23
# File 'lib/cruisestatus/feed_parser.rb', line 14

def initialize( url_or_io )
  case url_or_io
  when String
    @feed = Kernel.open( url_or_io )
  when IO, StringIO
    @feed = url_or_io
  else
    raise "Please pass either a URI or an IO object to read."
  end
end

Class Method Details

.for(url) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/cruisestatus/feed_parser.rb', line 3

def self.for( url )
  case url
  when /^http:\/\/runcoderun\.com/
    require "cruisestatus/run_code_run_parser"
    CruiseStatus::RunCodeRunParser.new url
  else
    require "cruisestatus/cruise_rb_parser"
    CruiseStatus::CruiseRbParser.new url
  end
end