onfire 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES.textile +9 -0
- data/lib/onfire.rb +15 -10
- data/lib/onfire/version.rb +1 -3
- data/test/onfire_test.rb +31 -1
- metadata +4 -3
data/CHANGES.textile
ADDED
data/lib/onfire.rb
CHANGED
@@ -15,7 +15,7 @@ module Onfire
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def fire(event_type, data={})
|
18
|
-
bubble_event
|
18
|
+
bubble_event event_for(event_type, self, data)
|
19
19
|
end
|
20
20
|
|
21
21
|
def bubble_event(event)
|
@@ -40,13 +40,18 @@ module Onfire
|
|
40
40
|
@event_table ||= Onfire::EventTable.new
|
41
41
|
end
|
42
42
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
43
|
+
protected
|
44
|
+
def attach_event_handler(proc, table_options)
|
45
|
+
event_table.add_handler(proc, table_options)
|
46
|
+
end
|
47
|
+
|
48
|
+
# Get all handlers from self for the passed event.
|
49
|
+
def local_event_handlers(event)
|
50
|
+
event_table.all_handlers_for(event.type, event.source)
|
51
|
+
end
|
52
|
+
|
53
|
+
# Factory method for creating the event. Override if you want your own event.
|
54
|
+
def event_for(*args)
|
55
|
+
Event.new(*args)
|
56
|
+
end
|
52
57
|
end
|
data/lib/onfire/version.rb
CHANGED
data/test/onfire_test.rb
CHANGED
@@ -190,7 +190,7 @@ class OnfireTest < Test::Unit::TestCase
|
|
190
190
|
|
191
191
|
context "calling #fire" do
|
192
192
|
setup do
|
193
|
-
@obj
|
193
|
+
@obj = mock
|
194
194
|
end
|
195
195
|
|
196
196
|
should "be of no relevance when there are no handlers attached" do
|
@@ -251,6 +251,36 @@ class OnfireTest < Test::Unit::TestCase
|
|
251
251
|
|
252
252
|
assert_equal ["You look like I need a drink."], @obj.list
|
253
253
|
end
|
254
|
+
|
255
|
+
# FUNCTIONAL: (onfire context)
|
256
|
+
context "#event_for" do
|
257
|
+
setup do
|
258
|
+
@obj.on :thirsty do |evt|
|
259
|
+
@obj.list << evt
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
should "respect #event_for" do
|
264
|
+
@obj.fire :thirsty
|
265
|
+
|
266
|
+
assert_kind_of Onfire::Event, @obj.list.first
|
267
|
+
end
|
268
|
+
|
269
|
+
# FUNCTIONAL: (onfire context)
|
270
|
+
should "respect an overridden #event_for" do
|
271
|
+
class LocalEvent < Onfire::Event
|
272
|
+
end
|
273
|
+
|
274
|
+
@obj.instance_eval do
|
275
|
+
def event_for(*args)
|
276
|
+
LocalEvent.new(*args)
|
277
|
+
end
|
278
|
+
end
|
279
|
+
@obj.fire :thirsty
|
280
|
+
|
281
|
+
assert_kind_of LocalEvent, @obj.list.first
|
282
|
+
end
|
283
|
+
end
|
254
284
|
end
|
255
285
|
|
256
286
|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 2
|
9
|
+
version: 0.1.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Nick Sutterer
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-
|
17
|
+
date: 2011-02-08 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -28,6 +28,7 @@ extensions: []
|
|
28
28
|
extra_rdoc_files: []
|
29
29
|
|
30
30
|
files:
|
31
|
+
- CHANGES.textile
|
31
32
|
- Gemfile
|
32
33
|
- README.textile
|
33
34
|
- Rakefile
|