Class: NotifySet

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

Overview

Notify object container that includes disable/enable features.

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (NotifySet) initialize(id = nil)

Instantiation.

Parameters:

  • id (Symbol) (defaults to: nil)

    Id of the set.



251
252
253
254
255
# File 'lib/notifyhub.rb', line 251

def initialize( id = nil )
    @id = id
    @enable = true
    @list = []
end

Instance Attribute Details

- (Object) enable(value)

Enable/disable NotifySet.

Parameters:

  • value (Boolean)

    Enable with true and disable with false.



245
246
247
# File 'lib/notifyhub.rb', line 245

def enable
  @enable
end

Instance Method Details

- (Object) [](idx)

Get Notify by index.



321
322
323
# File 'lib/notifyhub.rb', line 321

def []( idx )
    @list[ idx ]
end

- (Object) action(&action) Also known as: register, with

Register Notify.

Parameters:

  • action (Block)

    Notify action.



269
270
271
272
273
# File 'lib/notifyhub.rb', line 269

def action( &action )
    n = Notify.new( &action )
    @list.push n
    n
end

- (Object) each

Iterate over list of notifiers.



313
314
315
316
317
# File 'lib/notifyhub.rb', line 313

def each
    @list.each do |n|
        yield n
    end
end

- (Array<Object>) notify(*args)

Run all notifiers in NotifySet.

Parameters:

  • args (Array<Object>)

    Arguments for notifiers.

Returns:

  • (Array<Object>)

    Array or single callback return value.



294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
# File 'lib/notifyhub.rb', line 294

def notify( *args )
    ret = []
    if @enable
        @list.each do |n|
            ret.push n.notify( *args )
        end
    end

    if ret.length == 1
        # Return single value.
        ret[0]
    else
        # Return array of results.
        ret
    end
end

- (Object) remove(notify = nil)

Remove all or one Notify.

Parameters:

  • notify (Notify) (defaults to: nil)

    Notify to remove (all if not given).



282
283
284
285
286
287
288
# File 'lib/notifyhub.rb', line 282

def remove( notify = nil )
    if notify
        @list.delete( notify )
    else
        @list = []
    end
end