module TTWatcher::Sites
Public Instance Methods
fetch_torrent_site(name)
click to toggle source
Returns a TorrentSite
child class.
@param [String, Symbol] name
Site name.
@exception TorrentSiteUnknown
Raised when TorrentSite child class associated with +name+ not found.
@return [TorrentSite]
# File sources/ttwatcher/sites.rb, line 43 def fetch_torrent_site(name) site = torrent_sites[name.downcase.to_sym] if site.nil? raise TorrentSiteUnknown, name else return site end end
list()
click to toggle source
Returns list of known torrent sites.
@return [Array<Symbols>]
# File sources/ttwatcher/sites.rb, line 58 def list @torrent_sites_keys = torrent_sites.keys end
torrent_sites()
click to toggle source
Returns all possible pairs:
:name => TorrentSite child class (with associated +:name+)
@example
torrent_sites[:megashara] # ==> Sites::Megashara
@return [Hash<Symbol:Class>]
# File sources/ttwatcher/sites.rb, line 16 def torrent_sites @known_torrent_sites ||= begin sites = Sites.constants.select do |const_name| const = Sites.const_get const_name const.class == Class && const < TorrentSite ? const : nil end # ==> [Array<Symbols>] hsh = Hash.new sites.each { |site| hsh[site.downcase] = Sites.const_get(site) } hsh end end