event_emitter 0.0.6 → 0.0.7

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/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ === 0.0.7 2012-11-09
2
+
3
+ * on/emit without any args
4
+ * add tests
5
+
1
6
  === 0.0.6 2012-11-09
2
7
 
3
8
  * add sample
data/Manifest.txt CHANGED
@@ -10,9 +10,11 @@ lib/event_emitter/emitter.rb
10
10
  samples/class-method.rb
11
11
  samples/instance-specific-method.rb
12
12
  samples/sample.rb
13
+ samples/timer.rb
13
14
  script/console
14
15
  script/destroy
15
16
  script/generate
17
+ test/test_class_method.rb
16
18
  test/test_event_emitter.rb
17
19
  test/test_helper.rb
18
20
  test/test_singular_method.rb
@@ -43,7 +43,7 @@ module EventEmitter
43
43
  end
44
44
  end
45
45
 
46
- def emit(type, data)
46
+ def emit(type, data=nil)
47
47
  events.each do |e|
48
48
  if e[:type] == type.to_sym
49
49
  listener = e[:listener]
data/lib/event_emitter.rb CHANGED
@@ -4,5 +4,5 @@ $:.unshift(File.dirname(__FILE__)) unless
4
4
  require 'event_emitter/emitter'
5
5
 
6
6
  module EventEmitter
7
- VERSION = '0.0.6'
7
+ VERSION = '0.0.7'
8
8
  end
data/samples/timer.rb ADDED
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift File.expand_path '../lib', File.dirname(__FILE__)
3
+ require 'event_emitter'
4
+
5
+ class Timer
6
+ include EventEmitter
7
+
8
+ def start(sec, count)
9
+ count.times do
10
+ sleep sec
11
+ emit :tick
12
+ end
13
+ emit :end
14
+ end
15
+ end
16
+
17
+ timer = Timer.new
18
+
19
+ timer.on :tick do
20
+ puts Time.now
21
+ end
22
+
23
+ timer.once :tick do
24
+ puts "timer start"
25
+ end
26
+
27
+ timer.on :end do
28
+ puts "timer end"
29
+ end
30
+
31
+ timer.start 1, 5
@@ -0,0 +1,92 @@
1
+ require File.expand_path 'test_helper', File.dirname(__FILE__)
2
+
3
+ class TestClassMethod < MiniTest::Unit::TestCase
4
+
5
+ class Foo
6
+ def self.created_at
7
+ @@created_at
8
+ end
9
+ def self.created_at=(time)
10
+ @@created_at = time
11
+ end
12
+ end
13
+
14
+ def setup
15
+ Foo.created_at = @now = Time.now
16
+ EventEmitter.apply Foo
17
+ end
18
+
19
+ def test_simple
20
+ created_at = nil
21
+ Foo.on :bar do
22
+ created_at = self.created_at
23
+ end
24
+ Foo.emit :bar
25
+
26
+ assert created_at == @now
27
+ end
28
+
29
+ def test_on_emit
30
+ result = nil
31
+ created_at = nil
32
+ Foo.on :chat do |data|
33
+ result = data
34
+ created_at = self.created_at
35
+ end
36
+
37
+ Foo.emit :chat, :user => 'shokai', :message => 'hello world'
38
+
39
+ assert result[:user] == 'shokai'
40
+ assert result[:message] == 'hello world'
41
+ assert created_at == @now, 'instance method'
42
+ end
43
+
44
+ def test_add_listener
45
+ result = nil
46
+ created_at = nil
47
+ Foo.add_listener :chat do |data|
48
+ result = data
49
+ created_at = self.created_at
50
+ end
51
+
52
+ Foo.emit :chat, :user => 'shokai', :message => 'hello world'
53
+
54
+ assert result[:user] == 'shokai'
55
+ assert result[:message] == 'hello world'
56
+ assert created_at == @now, 'instance method'
57
+ end
58
+
59
+ def test_remove_listener
60
+ size = Foo.events.size
61
+
62
+ Foo.on :foo do |data|
63
+ puts "bar #{data}"
64
+ end
65
+ Foo.on :foo do |data|
66
+ puts "barbar: #{data}"
67
+ end
68
+
69
+ id = Foo.on :baz do |data|
70
+ p data
71
+ end
72
+
73
+ assert Foo.events.size == size+3, 'check registerd listener count'
74
+ Foo.remove_listener id
75
+ assert Foo.events.size == size+2, 'remove listener by id'
76
+
77
+ Foo.remove_listener :foo
78
+ assert Foo.events.size == size, 'remove all "foo" listener'
79
+ end
80
+
81
+ def test_once
82
+ total = 0
83
+ Foo.once :add do |data|
84
+ total += data
85
+ end
86
+
87
+ Foo.emit :add, 1
88
+ assert total == 1, 'first call'
89
+ Foo.emit :add, 1
90
+ assert total == 1, 'call listener only first time'
91
+ end
92
+ end
@@ -11,35 +11,45 @@ class TestEventEmitter < MiniTest::Unit::TestCase
11
11
  @foo = Foo.new
12
12
  @foo.created_at = @now = Time.now
13
13
  end
14
-
14
+
15
+ def test_simple
16
+ created_at = nil
17
+ @foo.on :bar do
18
+ created_at = self.created_at
19
+ end
20
+ @foo.emit :bar
21
+
22
+ assert created_at == @now
23
+ end
24
+
15
25
  def test_on_emit
16
26
  result = nil
17
- __created_at = nil
27
+ created_at = nil
18
28
  @foo.on :chat do |data|
19
29
  result = data
20
- __created_at = created_at
30
+ created_at = self.created_at
21
31
  end
22
32
 
23
33
  @foo.emit :chat, :user => 'shokai', :message => 'hello world'
24
34
 
25
35
  assert result[:user] == 'shokai'
26
36
  assert result[:message] == 'hello world'
27
- assert __created_at == @now, 'instance method'
37
+ assert created_at == @now, 'instance method'
28
38
  end
29
39
 
30
40
  def test_add_listener
31
41
  result = nil
32
- __created_at = nil
42
+ created_at = nil
33
43
  @foo.add_listener :chat do |data|
34
44
  result = data
35
- __created_at = created_at
45
+ created_at = self.created_at
36
46
  end
37
47
 
38
48
  @foo.emit :chat, :user => 'shokai', :message => 'hello world'
39
49
 
40
50
  assert result[:user] == 'shokai'
41
51
  assert result[:message] == 'hello world'
42
- assert __created_at == @now, 'instance method'
52
+ assert created_at == @now, 'instance method'
43
53
  end
44
54
 
45
55
  def test_remove_listener
@@ -11,35 +11,45 @@ class TestSingularMethod < MiniTest::Unit::TestCase
11
11
  @foo.created_at = @now = Time.now
12
12
  EventEmitter.apply @foo
13
13
  end
14
+
15
+ def test_simple
16
+ created_at = nil
17
+ @foo.on :bar do
18
+ created_at = self.created_at
19
+ end
20
+ @foo.emit :bar
21
+
22
+ assert created_at == @now
23
+ end
14
24
 
15
25
  def test_on_emit
16
26
  result = nil
17
- __created_at = nil
27
+ created_at = nil
18
28
  @foo.on :chat do |data|
19
29
  result = data
20
- __created_at = created_at
30
+ created_at = self.created_at
21
31
  end
22
32
 
23
33
  @foo.emit :chat, :user => 'shokai', :message => 'hello world'
24
34
 
25
35
  assert result[:user] == 'shokai'
26
36
  assert result[:message] == 'hello world'
27
- assert __created_at == @now, 'instance method'
37
+ assert created_at == @now, 'instance method'
28
38
  end
29
39
 
30
40
  def test_add_listener
31
41
  result = nil
32
- __created_at = nil
42
+ created_at = nil
33
43
  @foo.add_listener :chat do |data|
34
44
  result = data
35
- __created_at = created_at
45
+ created_at = self.created_at
36
46
  end
37
47
 
38
48
  @foo.emit :chat, :user => 'shokai', :message => 'hello world'
39
49
 
40
50
  assert result[:user] == 'shokai'
41
51
  assert result[:message] == 'hello world'
42
- assert __created_at == @now, 'instance method'
52
+ assert created_at == @now, 'instance method'
43
53
  end
44
54
 
45
55
  def test_remove_listener
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: event_emitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -81,9 +81,11 @@ files:
81
81
  - samples/class-method.rb
82
82
  - samples/instance-specific-method.rb
83
83
  - samples/sample.rb
84
+ - samples/timer.rb
84
85
  - script/console
85
86
  - script/destroy
86
87
  - script/generate
88
+ - test/test_class_method.rb
87
89
  - test/test_event_emitter.rb
88
90
  - test/test_helper.rb
89
91
  - test/test_singular_method.rb
@@ -104,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
104
106
  version: '0'
105
107
  segments:
106
108
  - 0
107
- hash: -270454799598392079
109
+ hash: -3918695079194691329
108
110
  required_rubygems_version: !ruby/object:Gem::Requirement
109
111
  none: false
110
112
  requirements:
@@ -118,6 +120,7 @@ signing_key:
118
120
  specification_version: 3
119
121
  summary: Ruby port of EventEmitter from Node.js
120
122
  test_files:
123
+ - test/test_class_method.rb
121
124
  - test/test_event_emitter.rb
122
125
  - test/test_helper.rb
123
126
  - test/test_singular_method.rb