Class: AudioAddict::Radio
Constant Summary
collapse
- NETWORKS =
{
di: "Digitally Imported",
rockradio: "Rock Radio",
radiotunes: "Radio Tunes",
jazzradio: "Jazz Radio",
classicalradio: "Classical Radio"
}
- DOMAINS =
{
di: "di.fm",
rockradio: "rockradio.com",
radiotunes: "radiotunes.com",
jazzradio: "jazzradio.com",
classicalradio: "classicalradio.com"
}
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#inspect
Methods included from Cache
#cache, #cache_dir, #cache_dir!, #cache_life, #cache_life!
Constructor Details
#initialize(network) ⇒ Radio
Returns a new instance of Radio.
37
38
39
|
# File 'lib/audio_addict/radio.rb', line 37
def initialize(network)
@network = network
end
|
Instance Attribute Details
#network ⇒ Object
Returns the value of attribute network.
6
7
8
|
# File 'lib/audio_addict/radio.rb', line 6
def network
@network
end
|
Class Method Details
.networks(search = nil) ⇒ Object
24
25
26
27
28
29
30
31
|
# File 'lib/audio_addict/radio.rb', line 24
def self.networks(search = nil)
if search
result = NETWORKS.select { |k, v| "#{k} #{v}".downcase.include? search.downcase }
result.any? ? result : NETWORKS
else
NETWORKS
end
end
|
.valid_network?(network) ⇒ Boolean
33
34
35
|
# File 'lib/audio_addict/radio.rb', line 33
def self.valid_network?(network)
NETWORKS.keys.include? network.to_sym
end
|
Instance Method Details
#[](channel_key) ⇒ Object
68
69
70
|
# File 'lib/audio_addict/radio.rb', line 68
def [](channel_key)
channels[channel_key]
end
|
#api ⇒ Object
76
77
78
|
# File 'lib/audio_addict/radio.rb', line 76
def api
@api ||= API.new network
end
|
#channels ⇒ Object
53
54
55
|
# File 'lib/audio_addict/radio.rb', line 53
def channels
@channels ||= channels!
end
|
#domain ⇒ Object
49
50
51
|
# File 'lib/audio_addict/radio.rb', line 49
def domain
DOMAINS[network.to_sym]
end
|
#inspectable ⇒ Object
41
42
43
|
# File 'lib/audio_addict/radio.rb', line 41
def inspectable
[:network]
end
|
#name ⇒ Object
45
46
47
|
# File 'lib/audio_addict/radio.rb', line 45
def name
NETWORKS[network.to_sym]
end
|
#search(query) ⇒ Object
57
58
59
60
61
|
# File 'lib/audio_addict/radio.rb', line 57
def search(query)
channels.select do |key, channel|
"#{key} #{channel.name.downcase}".include? query.downcase
end
end
|
#search_by_id(ids) ⇒ Object
63
64
65
66
|
# File 'lib/audio_addict/radio.rb', line 63
def search_by_id(ids)
ids = [ids] unless ids.is_a? Array
channels.select { |_key, channel| ids.include? channel.id }
end
|
#valid_channel?(channel) ⇒ Boolean
72
73
74
|
# File 'lib/audio_addict/radio.rb', line 72
def valid_channel?(channel)
channels.keys.include? channel
end
|