eventmachine-distributed-notification 0.1.3 → 0.1.4
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/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
- (void)dealloc
|
13
13
|
{
|
14
|
-
[
|
14
|
+
[self unobserve];
|
15
15
|
[name release];
|
16
16
|
[super dealloc];
|
17
17
|
}
|
@@ -26,6 +26,11 @@
|
|
26
26
|
];
|
27
27
|
}
|
28
28
|
|
29
|
+
- (void)unobserve
|
30
|
+
{
|
31
|
+
[[NSDistributedNotificationCenter defaultCenter] removeObserver:self];
|
32
|
+
}
|
33
|
+
|
29
34
|
- (void)notify:(NSNotification *)theNotification
|
30
35
|
{
|
31
36
|
VALUE aName = rb_str_new2([[theNotification name] UTF8String]);
|
@@ -118,7 +123,6 @@ static VALUE cObserverNative_new(int argc, VALUE *argv, VALUE klass)
|
|
118
123
|
}
|
119
124
|
|
120
125
|
[obs setHandler:handler];
|
121
|
-
[obs observe];
|
122
126
|
|
123
127
|
[pool release];
|
124
128
|
|
@@ -139,6 +143,24 @@ static VALUE cObserverNative_run_forever(int argc, VALUE *argv, VALUE self)
|
|
139
143
|
return Qnil;
|
140
144
|
}
|
141
145
|
|
146
|
+
static VALUE cObserverNative_observe(int argc, VALUE *argv, VALUE self)
|
147
|
+
{
|
148
|
+
Observer *obs = getObserver(self);
|
149
|
+
|
150
|
+
[obs observe];
|
151
|
+
|
152
|
+
return Qnil;
|
153
|
+
}
|
154
|
+
|
155
|
+
static VALUE cObserverNative_unobserve(int argc, VALUE *argv, VALUE self)
|
156
|
+
{
|
157
|
+
Observer *obs = getObserver(self);
|
158
|
+
|
159
|
+
[obs unobserve];
|
160
|
+
|
161
|
+
return Qnil;
|
162
|
+
}
|
163
|
+
|
142
164
|
void Init_observer_native(void){
|
143
165
|
VALUE rb_mEventMachine, rb_mDistributedNotification;
|
144
166
|
|
@@ -148,4 +170,6 @@ void Init_observer_native(void){
|
|
148
170
|
rb_define_singleton_method(rb_cObserverNative, "new", cObserverNative_new, -1);
|
149
171
|
rb_define_method(rb_cObserverNative, "run", cObserverNative_run, -1);
|
150
172
|
rb_define_method(rb_cObserverNative, "run_forever", cObserverNative_run_forever, -1);
|
173
|
+
rb_define_method(rb_cObserverNative, "observe", cObserverNative_observe, -1);
|
174
|
+
rb_define_method(rb_cObserverNative, "unobserve", cObserverNative_unobserve, -1);
|
151
175
|
}
|
@@ -24,6 +24,7 @@ describe EventMachine::DistributedNotification::Poster do
|
|
24
24
|
EM::add_timer(1) {
|
25
25
|
EM::post_distributed_notification('xxx', 'yyy')
|
26
26
|
EM.stop
|
27
|
+
watcher.stop
|
27
28
|
}
|
28
29
|
}
|
29
30
|
|
@@ -37,8 +38,8 @@ describe EventMachine::DistributedNotificationWatch do
|
|
37
38
|
itunes.stop
|
38
39
|
|
39
40
|
context 'instantiate' do
|
40
|
-
it 'should
|
41
|
-
watcher = Watcher.new(
|
41
|
+
it 'should watch distributed notifications' do
|
42
|
+
watcher = Watcher.new('com.apple.iTunes.playerInfo')
|
42
43
|
|
43
44
|
EM.run {
|
44
45
|
watcher.start
|
@@ -48,6 +49,7 @@ describe EventMachine::DistributedNotificationWatch do
|
|
48
49
|
EM::add_timer(1) {
|
49
50
|
itunes.stop
|
50
51
|
EM.stop
|
52
|
+
watcher.stop
|
51
53
|
}
|
52
54
|
}
|
53
55
|
|
@@ -57,21 +59,24 @@ describe EventMachine::DistributedNotificationWatch do
|
|
57
59
|
end
|
58
60
|
|
59
61
|
context 'invoked from EM.watch_distributed_notification' do
|
60
|
-
|
61
|
-
|
62
|
+
context 'with class' do
|
63
|
+
it 'should watch distributed notifications' do
|
64
|
+
watcher = nil
|
62
65
|
|
63
|
-
|
64
|
-
|
66
|
+
EM.run {
|
67
|
+
watcher = EM.watch_distributed_notification(nil, Watcher)
|
65
68
|
|
66
|
-
|
69
|
+
itunes.playlists["Music"].tracks[1].play
|
67
70
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
+
EM::add_timer(1) {
|
72
|
+
itunes.stop
|
73
|
+
EM.stop
|
74
|
+
watcher.stop
|
75
|
+
}
|
71
76
|
}
|
72
|
-
}
|
73
77
|
|
74
|
-
|
78
|
+
watcher.value.should_not be_nil
|
79
|
+
end
|
75
80
|
end
|
76
81
|
end
|
77
82
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eventmachine-distributed-notification
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-03-24 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: eventmachine
|
16
|
-
requirement: &
|
16
|
+
requirement: &70178503276700 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70178503276700
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70178503273500 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.8.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70178503273500
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rdoc
|
38
|
-
requirement: &
|
38
|
+
requirement: &70178503287000 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '3.12'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70178503287000
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
|
-
requirement: &
|
49
|
+
requirement: &70178503284120 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.1.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70178503284120
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: jeweler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70178503280260 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.8.3
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70178503280260
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rb-appscript
|
71
|
-
requirement: &
|
71
|
+
requirement: &70178503295420 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70178503295420
|
80
80
|
description: An EventMachine extension to watch OSX's Distributed Notification, posted
|
81
81
|
by iTunes etc.
|
82
82
|
email: youpy@buycheapviagraonlinenow.com
|
@@ -123,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
123
123
|
version: '0'
|
124
124
|
segments:
|
125
125
|
- 0
|
126
|
-
hash:
|
126
|
+
hash: -1517368430001229274
|
127
127
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|