eventable 0.1.4 → 0.2.1
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.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/Gemfile +0 -0
- data/LICENSE.txt +0 -0
- data/README.markdown +14 -0
- data/Rakefile +0 -0
- data/autotest/discover.rb +0 -0
- data/eventable.gemspec +4 -7
- data/lib/eventable.rb +0 -0
- data/lib/eventable/errors.rb +0 -0
- data/lib/eventable/eventable.rb +0 -0
- data/lib/eventable/version.rb +1 -1
- data/spec/eventable/eventable_spec.rb +18 -18
- data/spec/spec_helper.rb +0 -0
- metadata +49 -59
- data/.DS_Store +0 -0
- data/example/example.rb +0 -82
- data/example/example_output.txt +0 -56
- data/example/simple_example.rb +0 -42
- data/example/simple_output.txt +0 -2
- data/lib/.DS_Store +0 -0
- data/spec/.DS_Store +0 -0
- data/vendor/.DS_Store +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6a0096af61ceb5610845b10b6610df58bace5bd6
|
4
|
+
data.tar.gz: 793ba15120801ec32fe9a463e53938709a82edfc
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0dd5d6332c1b01e88777d19669bfdcad44fdc790ed6fb79c4c47256a973b346c741c697dcc271eb4e471d3a4f525f070a80b82630d2ef052b66314291acdc123
|
7
|
+
data.tar.gz: 4c33b803d21e1a7f5df891d86827f8cfcd3b5116d8334fdf298a268266d096d8bf6fee317ba25a8c39b66582e2c3129615877be2e81973bf25fa99dc9ec08471
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
File without changes
|
data/LICENSE.txt
CHANGED
File without changes
|
data/README.markdown
CHANGED
@@ -170,6 +170,20 @@ This example shows you how you might actually use it in a multi-threaded environ
|
|
170
170
|
|
171
171
|
##Version History##
|
172
172
|
|
173
|
+
**2014.09.10**
|
174
|
+
Ver: 0.2.1
|
175
|
+
|
176
|
+
* Verified to work with Ruby 2.1
|
177
|
+
* Updated specs to RSpec 2.99
|
178
|
+
* Updated dependencies and author links.
|
179
|
+
|
180
|
+
**2014.03.26**
|
181
|
+
Ver: 0.2.0
|
182
|
+
|
183
|
+
Updates:
|
184
|
+
|
185
|
+
Updating for Ruby 2.x
|
186
|
+
|
173
187
|
**2011.07.05**
|
174
188
|
Ver: 0.1.4
|
175
189
|
|
data/Rakefile
CHANGED
File without changes
|
data/autotest/discover.rb
CHANGED
File without changes
|
data/eventable.gemspec
CHANGED
@@ -1,8 +1,5 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
$:.push File.expand_path("../lib", __FILE__)
|
3
|
-
# Kludge for older RubyGems not handling unparsable dates gracefully
|
4
|
-
# (psych 1.2.0 gem wouldn't build on test system so we're stuck with syck)
|
5
|
-
YAML::ENGINE.yamler = 'syck'
|
6
3
|
|
7
4
|
require "rubygems"
|
8
5
|
require "eventable/version"
|
@@ -11,16 +8,16 @@ Gem::Specification.new do |s|
|
|
11
8
|
s.name = "eventable"
|
12
9
|
s.version = Eventable::VERSION
|
13
10
|
s.authors = ["Mike Bethany"]
|
14
|
-
s.email = ["
|
15
|
-
s.homepage = "http://
|
11
|
+
s.email = ["mike@mikebethany.com"]
|
12
|
+
s.homepage = "http://mikebethany.com"
|
16
13
|
s.summary = %q{An incredibly simple and easy to use event mixin module.}
|
17
14
|
s.description = %q{Provides an easy to use and understand event model. If you want a simple, light-weight way to add events to your classes this is the solution for you.}
|
18
15
|
s.license = 'MIT'
|
19
16
|
|
20
17
|
s.required_ruby_version = ">= 1.9.2"
|
21
18
|
|
22
|
-
s.add_development_dependency('rspec', "~>2.
|
23
|
-
s.add_development_dependency('bundler', "~>1.
|
19
|
+
s.add_development_dependency('rspec', "~>2.99")
|
20
|
+
s.add_development_dependency('bundler', "~>1.6")
|
24
21
|
|
25
22
|
s.files = `git ls-files`.split("\n")
|
26
23
|
s.test_files = `git ls-files -- {spec}/*`.split("\n")
|
data/lib/eventable.rb
CHANGED
File without changes
|
data/lib/eventable/errors.rb
CHANGED
File without changes
|
data/lib/eventable/eventable.rb
CHANGED
File without changes
|
data/lib/eventable/version.rb
CHANGED
@@ -62,7 +62,7 @@ describe Eventable do
|
|
62
62
|
include Eventable
|
63
63
|
end
|
64
64
|
|
65
|
-
expect{q = Qiz.new}.
|
65
|
+
expect{q = Qiz.new}.not_to raise_error
|
66
66
|
end
|
67
67
|
|
68
68
|
it "should not raise an error if they are required and given" do
|
@@ -74,7 +74,7 @@ describe Eventable do
|
|
74
74
|
class Qiz2 < Baz2
|
75
75
|
include Eventable
|
76
76
|
end
|
77
|
-
expect{q = Qiz2.new('blah')}.
|
77
|
+
expect{q = Qiz2.new('blah')}.not_to raise_error
|
78
78
|
end
|
79
79
|
|
80
80
|
it "should pass along blocks if given" do
|
@@ -205,8 +205,8 @@ describe Eventable do
|
|
205
205
|
@evented.register_for_event(event: :stuff_happens, listener: @listener, callback: :callback2)
|
206
206
|
@evented.do_event
|
207
207
|
sleep(CALLBACK_WAIT)
|
208
|
-
@listener.callback?.should
|
209
|
-
@listener.callback2?.should
|
208
|
+
@listener.callback?.should be true
|
209
|
+
@listener.callback2?.should be true
|
210
210
|
end
|
211
211
|
|
212
212
|
it "should allow callbacks to class methods" do
|
@@ -214,7 +214,7 @@ describe Eventable do
|
|
214
214
|
@evented.register_for_event(event: :stuff_happens, listener: ListenClass, callback: :class_callback)
|
215
215
|
@evented.do_event
|
216
216
|
sleep(CALLBACK_WAIT)
|
217
|
-
ListenClass.class_callback?.should
|
217
|
+
ListenClass.class_callback?.should be true
|
218
218
|
end
|
219
219
|
|
220
220
|
context "when multiple classes mixin eventable" do
|
@@ -228,8 +228,8 @@ describe Eventable do
|
|
228
228
|
another_evented.register_for_event(event: :stuff_happens, listener: another_listener, callback: :callback)
|
229
229
|
@evented.do_event
|
230
230
|
sleep(CALLBACK_WAIT)
|
231
|
-
@listener.callback?.should
|
232
|
-
another_listener.callback?.should_not
|
231
|
+
@listener.callback?.should be true
|
232
|
+
another_listener.callback?.should_not be true
|
233
233
|
end
|
234
234
|
|
235
235
|
it "should not call the wrong class when both evented classes fire events" do
|
@@ -240,8 +240,8 @@ describe Eventable do
|
|
240
240
|
@evented.do_event
|
241
241
|
another_evented.do_event
|
242
242
|
sleep(CALLBACK_WAIT)
|
243
|
-
@listener.callback?.should
|
244
|
-
another_listener.callback2?.should
|
243
|
+
@listener.callback?.should be true
|
244
|
+
another_listener.callback2?.should be true
|
245
245
|
end
|
246
246
|
|
247
247
|
end
|
@@ -266,7 +266,7 @@ describe Eventable do
|
|
266
266
|
@evented.register_for_event(event: :stuff_happens, listener: @listener, callback: :callback)
|
267
267
|
@evented.unregister_for_event(event: :stuff_happens, listener: @listener, callback: :callback)
|
268
268
|
@evented.do_event
|
269
|
-
@listener.callback?.should_not
|
269
|
+
@listener.callback?.should_not be true
|
270
270
|
end
|
271
271
|
|
272
272
|
it "should automatically remove callbacks to objects that are garbage collected" do
|
@@ -286,12 +286,12 @@ describe Eventable do
|
|
286
286
|
|
287
287
|
it "should return false if the event did not fire" do
|
288
288
|
@evented.do_event
|
289
|
-
@evented.do_event.should
|
289
|
+
@evented.do_event.should be false
|
290
290
|
end
|
291
291
|
|
292
292
|
it "should return true if the event did fire" do
|
293
293
|
@evented.register_for_event(event: :stuff_happens, listener: @listener, callback: :callback)
|
294
|
-
@evented.do_event.should
|
294
|
+
@evented.do_event.should be true
|
295
295
|
end
|
296
296
|
|
297
297
|
it "should not throw an error if no listeners have been registered for an event" do
|
@@ -303,13 +303,13 @@ describe Eventable do
|
|
303
303
|
@evented.register_for_event(event: :stuff_happens, listener: @listener, callback: :callback)
|
304
304
|
@evented.do_event
|
305
305
|
sleep(CALLBACK_WAIT)
|
306
|
-
@listener.callback?.should
|
306
|
+
@listener.callback?.should be true
|
307
307
|
end
|
308
308
|
|
309
309
|
it "should not call back the wrong method when the event is fired" do
|
310
310
|
@evented.register_for_event(event: :stuff_happens, listener: @listener, callback: :callback)
|
311
311
|
@evented.do_event
|
312
|
-
@listener.callback2?.should_not
|
312
|
+
@listener.callback2?.should_not be true
|
313
313
|
end
|
314
314
|
|
315
315
|
it "should call back more than one class" do
|
@@ -320,8 +320,8 @@ describe Eventable do
|
|
320
320
|
|
321
321
|
@evented.do_event
|
322
322
|
sleep(CALLBACK_WAIT)
|
323
|
-
@listener.callback?.should
|
324
|
-
listener2.callback2?.should
|
323
|
+
@listener.callback?.should be true
|
324
|
+
listener2.callback2?.should be true
|
325
325
|
end
|
326
326
|
|
327
327
|
it "should not call back the wrong method when using multiple classes" do
|
@@ -332,8 +332,8 @@ describe Eventable do
|
|
332
332
|
|
333
333
|
@evented.do_event
|
334
334
|
sleep(CALLBACK_WAIT)
|
335
|
-
@listener.callback2?.should_not
|
336
|
-
listener2.callback?.should_not
|
335
|
+
@listener.callback2?.should_not be true
|
336
|
+
listener2.callback?.should_not be true
|
337
337
|
end
|
338
338
|
|
339
339
|
context "and it has return data" do
|
data/spec/spec_helper.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,96 +1,86 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: eventable
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.1.4
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.1
|
6
5
|
platform: ruby
|
7
|
-
authors:
|
6
|
+
authors:
|
8
7
|
- Mike Bethany
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-09-10 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
16
14
|
name: rspec
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: "2.6"
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.99'
|
24
20
|
type: :development
|
25
|
-
version_requirements: *id001
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: bundler
|
28
21
|
prerelease: false
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.99'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.6'
|
35
34
|
type: :development
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
-
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.6'
|
41
|
+
description: Provides an easy to use and understand event model. If you want a simple,
|
42
|
+
light-weight way to add events to your classes this is the solution for you.
|
43
|
+
email:
|
44
|
+
- mike@mikebethany.com
|
40
45
|
executables: []
|
41
|
-
|
42
46
|
extensions: []
|
43
|
-
|
44
47
|
extra_rdoc_files: []
|
45
|
-
|
46
|
-
|
47
|
-
- .DS_Store
|
48
|
-
- .gitignore
|
48
|
+
files:
|
49
|
+
- ".gitignore"
|
49
50
|
- Gemfile
|
50
51
|
- LICENSE.txt
|
51
52
|
- README.markdown
|
52
53
|
- Rakefile
|
53
54
|
- autotest/discover.rb
|
54
55
|
- eventable.gemspec
|
55
|
-
- example/example.rb
|
56
|
-
- example/example_output.txt
|
57
|
-
- example/simple_example.rb
|
58
|
-
- example/simple_output.txt
|
59
|
-
- lib/.DS_Store
|
60
56
|
- lib/eventable.rb
|
61
57
|
- lib/eventable/errors.rb
|
62
58
|
- lib/eventable/eventable.rb
|
63
59
|
- lib/eventable/version.rb
|
64
|
-
- spec/.DS_Store
|
65
60
|
- spec/eventable/eventable_spec.rb
|
66
61
|
- spec/spec_helper.rb
|
67
|
-
|
68
|
-
|
69
|
-
licenses:
|
62
|
+
homepage: http://mikebethany.com
|
63
|
+
licenses:
|
70
64
|
- MIT
|
65
|
+
metadata: {}
|
71
66
|
post_install_message:
|
72
67
|
rdoc_options: []
|
73
|
-
|
74
|
-
require_paths:
|
68
|
+
require_paths:
|
75
69
|
- lib
|
76
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
77
|
-
|
78
|
-
requirements:
|
70
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
79
72
|
- - ">="
|
80
|
-
- !ruby/object:Gem::Version
|
73
|
+
- !ruby/object:Gem::Version
|
81
74
|
version: 1.9.2
|
82
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
|
-
|
84
|
-
requirements:
|
75
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
85
77
|
- - ">="
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
version:
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
88
80
|
requirements: []
|
89
|
-
|
90
81
|
rubyforge_project:
|
91
|
-
rubygems_version:
|
82
|
+
rubygems_version: 2.2.2
|
92
83
|
signing_key:
|
93
|
-
specification_version:
|
84
|
+
specification_version: 4
|
94
85
|
summary: An incredibly simple and easy to use event mixin module.
|
95
86
|
test_files: []
|
96
|
-
|
data/.DS_Store
DELETED
Binary file
|
data/example/example.rb
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
$:.unshift File.expand_path(File.join(File.dirname(__FILE__), "/../lib"))
|
2
|
-
require 'eventable'
|
3
|
-
|
4
|
-
class EventedClass
|
5
|
-
include Eventable
|
6
|
-
event :stuff_happens
|
7
|
-
event :other_stuff_happens
|
8
|
-
|
9
|
-
def initialize
|
10
|
-
# If you don't call super Eventable will raise an error
|
11
|
-
super # <= VERY important, comment this out to see the error
|
12
|
-
# do your initialize stuff
|
13
|
-
end
|
14
|
-
|
15
|
-
def make_stuff_happen(parent_id)
|
16
|
-
# You handle concurrency however you want, threads or fibers, up to you.
|
17
|
-
Thread.new{
|
18
|
-
puts "firing :stuff_happens"
|
19
|
-
fire_event(:stuff_happens, {:parent_id=>parent_id, :some_value => rand(1000)})
|
20
|
-
}
|
21
|
-
end
|
22
|
-
|
23
|
-
def start_other_stuff_happening
|
24
|
-
Thread.new {
|
25
|
-
5.times do
|
26
|
-
sleep(rand(1)+2)
|
27
|
-
puts "firing :other_stuff_happens"
|
28
|
-
fire_event(:other_stuff_happens)
|
29
|
-
end
|
30
|
-
}
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
|
-
class ListenerClass
|
36
|
-
|
37
|
-
def initialize(some_object)
|
38
|
-
@some_thing = some_object
|
39
|
-
@some_thing.register_for_event(event: :stuff_happens, listener: self, callback: :stuff_happened)
|
40
|
-
end
|
41
|
-
|
42
|
-
def do_somestuff(parent_id, times=6)
|
43
|
-
# I wrapped this in a thread to show it works cross threaded
|
44
|
-
Thread.new{
|
45
|
-
id = rand(1000)
|
46
|
-
times.times do
|
47
|
-
sleep(rand(2)+1)
|
48
|
-
puts "[#{parent_id}, #{id}]: do_somestuff"
|
49
|
-
@some_thing.make_stuff_happen(parent_id)
|
50
|
-
end
|
51
|
-
}
|
52
|
-
end
|
53
|
-
|
54
|
-
def stuff_happened(stuff)
|
55
|
-
splat = stuff
|
56
|
-
puts "[#{splat[:parent_id]}] stuff_happened callback: #{splat[:some_value]}"
|
57
|
-
end
|
58
|
-
|
59
|
-
def other_stuff_happened
|
60
|
-
puts "[n/a] same_stuff_happened callback: n/a"
|
61
|
-
end
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
|
-
# Now show it running
|
66
|
-
evented = EventedClass.new
|
67
|
-
|
68
|
-
# You can inject the evented class
|
69
|
-
listener = ListenerClass.new(evented)
|
70
|
-
|
71
|
-
# or attach to events outside of a listener class
|
72
|
-
evented.register_for_event(event: :other_stuff_happens, listener: listener, callback: :other_stuff_happened)
|
73
|
-
|
74
|
-
evented.start_other_stuff_happening
|
75
|
-
(1..3).each do |index|
|
76
|
-
listener.do_somestuff(index)
|
77
|
-
puts "[#{index}] did some stuff, sleeping"
|
78
|
-
sleep(rand(3)+4)
|
79
|
-
puts "[#{index}] slept"
|
80
|
-
end
|
81
|
-
|
82
|
-
puts "all done"
|
data/example/example_output.txt
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
[1] did some stuff, sleeping
|
2
|
-
[1, 932]: do_somestuff
|
3
|
-
firing :stuff_happens
|
4
|
-
[1] stuff_happened callback: 824
|
5
|
-
firing :other_stuff_happens
|
6
|
-
[n/a] same_stuff_happened callback: n/a
|
7
|
-
[1, 932]: do_somestuff
|
8
|
-
firing :stuff_happens
|
9
|
-
[1] stuff_happened callback: 407
|
10
|
-
[1, 932]: do_somestuff
|
11
|
-
firing :stuff_happens
|
12
|
-
[1] stuff_happened callback: 841
|
13
|
-
firing :other_stuff_happens
|
14
|
-
[n/a] same_stuff_happened callback: n/a
|
15
|
-
[1, 932]: do_somestuff
|
16
|
-
firing :stuff_happens
|
17
|
-
[1] stuff_happened callback: 779
|
18
|
-
[1] slept
|
19
|
-
[2] did some stuff, sleeping
|
20
|
-
firing :other_stuff_happens
|
21
|
-
[n/a] same_stuff_happened callback: n/a
|
22
|
-
[1, 932]: do_somestuff
|
23
|
-
firing :stuff_happens
|
24
|
-
[1] stuff_happened callback: 252
|
25
|
-
[2, 316]: do_somestuff
|
26
|
-
firing :stuff_happens
|
27
|
-
[2] stuff_happened callback: 174
|
28
|
-
firing :other_stuff_happens
|
29
|
-
[n/a] same_stuff_happened callback: n/a
|
30
|
-
[2, 316]: do_somestuff
|
31
|
-
firing :stuff_happens
|
32
|
-
[2] stuff_happened callback: 193
|
33
|
-
[1, 932]: do_somestuff
|
34
|
-
firing :stuff_happens
|
35
|
-
[1] stuff_happened callback: 535
|
36
|
-
[2] slept
|
37
|
-
[3] did some stuff, sleeping
|
38
|
-
firing :other_stuff_happens
|
39
|
-
[n/a] same_stuff_happened callback: n/a
|
40
|
-
[2, 316]: do_somestuff
|
41
|
-
firing :stuff_happens
|
42
|
-
[2] stuff_happened callback: 420
|
43
|
-
[3, 748]: do_somestuff
|
44
|
-
firing :stuff_happens
|
45
|
-
[3] stuff_happened callback: 545
|
46
|
-
[2, 316]: do_somestuff
|
47
|
-
firing :stuff_happens
|
48
|
-
[2] stuff_happened callback: 471
|
49
|
-
[3, 748]: do_somestuff
|
50
|
-
firing :stuff_happens
|
51
|
-
[2, 316]: do_somestuff
|
52
|
-
[3] stuff_happened callback: 266
|
53
|
-
firing :stuff_happens
|
54
|
-
[2] stuff_happened callback: 481
|
55
|
-
[3] slept
|
56
|
-
all done
|
data/example/simple_example.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
$:.unshift File.expand_path(File.join(File.dirname(__FILE__), "/../lib"))
|
2
|
-
require 'eventable'
|
3
|
-
|
4
|
-
class EventClass
|
5
|
-
include Eventable
|
6
|
-
|
7
|
-
# This is all you have to do to add an event (after you include Eventable)
|
8
|
-
event :stuff_happens
|
9
|
-
|
10
|
-
# don't name your method fire_event, that's taken
|
11
|
-
def do_event
|
12
|
-
puts "firing :stuff_happens"
|
13
|
-
# And this is all you have to do to make the event happen
|
14
|
-
fire_event(:stuff_happens, rand(1000))
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
|
19
|
-
class ListenClass
|
20
|
-
|
21
|
-
def stuff_happened(stuff)
|
22
|
-
puts "stuff happened callback: #{stuff}"
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
# Create an instance of a class that has an event
|
28
|
-
evented = EventClass.new
|
29
|
-
|
30
|
-
# Create a class that listens for that event
|
31
|
-
listener = ListenClass.new
|
32
|
-
|
33
|
-
# Register the listener with the instance that will have the event
|
34
|
-
evented.register_for_event(event: :stuff_happens, listener: listener, callback: :stuff_happened)
|
35
|
-
|
36
|
-
# We'll just arbitrarilly fire the event to see how it works
|
37
|
-
evented.do_event
|
38
|
-
|
39
|
-
# Wait just to be sure you see it happen
|
40
|
-
sleep(1)
|
41
|
-
|
42
|
-
|
data/example/simple_output.txt
DELETED
data/lib/.DS_Store
DELETED
Binary file
|
data/spec/.DS_Store
DELETED
Binary file
|
data/vendor/.DS_Store
DELETED
Binary file
|