Class: Aruba::Platforms::Announcer
- Inherits:
-
Object
- Object
- Aruba::Platforms::Announcer
- Defined in:
- lib/aruba/platforms/announcer.rb
Overview
Announcer
Defined Under Namespace
Classes: BaseAnnouncer, KernelPutsAnnouncer, PutsAnnouncer
Instance Method Summary collapse
-
#activate(*chns) ⇒ Object
Activate a channel.
-
#activated?(channel) ⇒ Boolean
Check if channel is activated.
-
#announce(channel, *args) { ... } ⇒ Object
Announce information to channel.
-
#initialize ⇒ Announcer
constructor
A new instance of Announcer.
-
#mode ⇒ Symbol
Fecth mode of announcer.
-
#mode=(m) ⇒ Object
Change mode of announcer.
-
#reset ⇒ Object
Reset announcer.
Constructor Details
#initialize ⇒ Announcer
Returns a new instance of Announcer.
70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/aruba/platforms/announcer.rb', line 70 def initialize @announcers = [] @announcers << PutsAnnouncer.new @announcers << KernelPutsAnnouncer.new @colorizer = Aruba::Colorizer.new @announcer = @announcers.first @channels = {} @output_formats = {} after_init end |
Instance Method Details
#activate(*chns) ⇒ Object
Activate a channel
165 166 167 168 169 |
# File 'lib/aruba/platforms/announcer.rb', line 165 def activate(*chns) chns.flatten.each { |c| channels[c.to_sym] = true } self end |
#activated?(channel) ⇒ Boolean
Check if channel is activated
157 158 159 |
# File 'lib/aruba/platforms/announcer.rb', line 157 def activated?(channel) channels[channel.to_sym] == true end |
#announce(channel, *args) { ... } ⇒ Object
Announce information to channel
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
# File 'lib/aruba/platforms/announcer.rb', line 182 def announce(channel, *args) channel = channel.to_sym the_output_format = if output_formats.key? channel output_formats[channel] else proc { |v| format('%s', v) } end return unless activated?(channel) begin if block_given? value = yield args << value end = the_output_format.call(*args) += "\n" = colorizer.cyan() rescue NotImplementedError => e = "Error fetching announced value for #{channel}: #{e.}" end announcer.announce() nil end |
#mode ⇒ Symbol
Fecth mode of announcer
149 150 151 |
# File 'lib/aruba/platforms/announcer.rb', line 149 def mode @announcer.mode end |
#mode=(m) ⇒ Object
Change mode of announcer
142 143 144 |
# File 'lib/aruba/platforms/announcer.rb', line 142 def mode=(m) @announcer = @announcers.find { |a| a.mode? m.to_sym } end |
#reset ⇒ Object
Reset announcer
134 135 136 |
# File 'lib/aruba/platforms/announcer.rb', line 134 def reset @announcer = @announcers.first end |