Module: Fraggle::Emitter
- Included in:
- Request
- Defined in:
- lib/fraggle/emitter.rb
Instance Method Summary collapse
- #callbacks ⇒ Object
- #done(&blk) ⇒ Object
- #emit(name, *args) ⇒ Object
- #error(&blk) ⇒ Object
- #must_callback!(name, blk) ⇒ Object
- #valid(&blk) ⇒ Object
Instance Method Details
#callbacks ⇒ Object
5 6 7 |
# File 'lib/fraggle/emitter.rb', line 5 def callbacks @callbacks ||= Hash.new(lambda {}) end |
#done(&blk) ⇒ Object
14 |
# File 'lib/fraggle/emitter.rb', line 14 def done(&blk) ; must_callback!(:done, blk) ; end |
#emit(name, *args) ⇒ Object
9 10 11 |
# File 'lib/fraggle/emitter.rb', line 9 def emit(name, *args) callbacks[name].call(*args) end |
#error(&blk) ⇒ Object
15 |
# File 'lib/fraggle/emitter.rb', line 15 def error(&blk) ; must_callback!(:error, blk) ; end |
#must_callback!(name, blk) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/fraggle/emitter.rb', line 17 def must_callback!(name, blk) if ! blk raise ArgumentError, "no block given to `#{name}`" end callbacks[name] = blk end |
#valid(&blk) ⇒ Object
13 |
# File 'lib/fraggle/emitter.rb', line 13 def valid(&blk) ; must_callback!(:valid, blk) ; end |