glib-eventable 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/Guardfile +27 -4
- data/Rakefile +12 -9
- data/VERSION +1 -1
- data/glib-eventable.gemspec +26 -5
- data/lib/glib/eventable.rb +4 -3
- data/spec/glib/eventable_spec.rb +25 -0
- data/spec/spec_helper.rb +13 -0
- data/spec/support/windows.rb +14 -0
- metadata +118 -4
- data/Gemfile.lock +0 -44
data/.gitignore
CHANGED
data/Guardfile
CHANGED
@@ -1,5 +1,28 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
require 'pathname'
|
2
|
+
require 'socket'
|
3
|
+
|
4
|
+
HOST = Socket.gethostbyname(Socket.gethostname).first
|
5
|
+
|
6
|
+
if HOST.match(/MPU/i)
|
7
|
+
guard 'rspec', cli: '-c -f Fuubar' do
|
8
|
+
watch(%r{^spec/.+_spec\.rb$})
|
9
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
10
|
+
watch('spec/spec_helper.rb') { "spec" }
|
11
|
+
end
|
5
12
|
end
|
13
|
+
|
14
|
+
if HOST.match(/RyMac/i)
|
15
|
+
guard 'shell' do
|
16
|
+
watch(/.*/) do |m|
|
17
|
+
path = Pathname.new(__FILE__).dirname.expand_path
|
18
|
+
|
19
|
+
`rsync -vaz #{path} ryguy@MPU:~/Code/Ruby/Gems/`
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
guard 'yard' do
|
24
|
+
watch(%r{app/.+\.rb})
|
25
|
+
watch(%r{lib/.+\.rb})
|
26
|
+
watch(%r{ext/.+\.c})
|
27
|
+
end
|
28
|
+
end
|
data/Rakefile
CHANGED
@@ -24,9 +24,16 @@ spec = Gem::Specification.new do |s|
|
|
24
24
|
|
25
25
|
s.add_dependency 'version', '~> 1.0.0'
|
26
26
|
s.add_dependency 'glib2', '~> 1.1.5'
|
27
|
+
s.add_development_dependency 'at', '~> 0.1.3'
|
27
28
|
s.add_development_dependency 'rake', '~> 0.9'
|
28
|
-
s.add_development_dependency '
|
29
|
+
s.add_development_dependency 'gtk2', '~> 1.1.5'
|
30
|
+
s.add_development_dependency 'guard-rspec', '~> 2.1'
|
31
|
+
s.add_development_dependency 'guard-yard', '~> 2.0'
|
32
|
+
s.add_development_dependency 'guard-shell', '~> 0.5'
|
33
|
+
s.add_development_dependency 'rb-fsevent', '~> 0.9'
|
34
|
+
s.add_development_dependency 'fuubar', '~> 1.1'
|
29
35
|
s.add_development_dependency 'redcarpet', '~> 2.2.2'
|
36
|
+
s.add_development_dependency 'github-markup', '~> 0.7'
|
30
37
|
end
|
31
38
|
|
32
39
|
require_task 'rake/version_task' do
|
@@ -36,11 +43,9 @@ require_task 'rake/version_task' do
|
|
36
43
|
end
|
37
44
|
end
|
38
45
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
Pathname.new("#{spec.name}.gemspec").open('w') { |f| f.write(spec.to_ruby) }
|
43
|
-
end
|
46
|
+
desc 'Generate the gemspec defined in this Rakefile'
|
47
|
+
task :gemspec do
|
48
|
+
Pathname.new("#{spec.name}.gemspec").open('w') { |f| f.write(spec.to_ruby) }
|
44
49
|
end
|
45
50
|
|
46
51
|
require 'rubygems/package_task'
|
@@ -49,6 +54,4 @@ Gem::PackageTask.new(spec) do |t|
|
|
49
54
|
t.need_tar = false
|
50
55
|
end
|
51
56
|
|
52
|
-
task :
|
53
|
-
puts `rake -T`
|
54
|
-
end
|
57
|
+
task default: :gemspec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
data/glib-eventable.gemspec
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "glib-eventable"
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Ryan Scott Lewis"]
|
9
9
|
s.date = "2012-11-27"
|
10
10
|
s.description = "This is a helper gem for ruby-gnome2 applications that allows developers to easily connect signals to methods."
|
11
11
|
s.email = "ryan@rynet.us"
|
12
|
-
s.files = [".gitignore", ".rvmrc", "Gemfile", "
|
12
|
+
s.files = [".gitignore", ".rvmrc", "Gemfile", "Guardfile", "LICENSE", "README.md", "Rakefile", "VERSION", "glib-eventable.gemspec", "lib/glib-eventable.rb", "lib/glib/eventable.rb", "spec/glib/eventable_spec.rb", "spec/spec_helper.rb", "spec/support/windows.rb"]
|
13
13
|
s.homepage = "http://github.com/c00lryguy/glib-eventable"
|
14
14
|
s.require_paths = ["lib"]
|
15
15
|
s.rubygems_version = "1.8.24"
|
@@ -21,21 +21,42 @@ Gem::Specification.new do |s|
|
|
21
21
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
22
22
|
s.add_runtime_dependency(%q<version>, ["~> 1.0.0"])
|
23
23
|
s.add_runtime_dependency(%q<glib2>, ["~> 1.1.5"])
|
24
|
+
s.add_development_dependency(%q<at>, ["~> 0.1.3"])
|
24
25
|
s.add_development_dependency(%q<rake>, ["~> 0.9"])
|
25
|
-
s.add_development_dependency(%q<
|
26
|
+
s.add_development_dependency(%q<gtk2>, ["~> 1.1.5"])
|
27
|
+
s.add_development_dependency(%q<guard-rspec>, ["~> 2.1"])
|
28
|
+
s.add_development_dependency(%q<guard-yard>, ["~> 2.0"])
|
29
|
+
s.add_development_dependency(%q<guard-shell>, ["~> 0.5"])
|
30
|
+
s.add_development_dependency(%q<rb-fsevent>, ["~> 0.9"])
|
31
|
+
s.add_development_dependency(%q<fuubar>, ["~> 1.1"])
|
26
32
|
s.add_development_dependency(%q<redcarpet>, ["~> 2.2.2"])
|
33
|
+
s.add_development_dependency(%q<github-markup>, ["~> 0.7"])
|
27
34
|
else
|
28
35
|
s.add_dependency(%q<version>, ["~> 1.0.0"])
|
29
36
|
s.add_dependency(%q<glib2>, ["~> 1.1.5"])
|
37
|
+
s.add_dependency(%q<at>, ["~> 0.1.3"])
|
30
38
|
s.add_dependency(%q<rake>, ["~> 0.9"])
|
31
|
-
s.add_dependency(%q<
|
39
|
+
s.add_dependency(%q<gtk2>, ["~> 1.1.5"])
|
40
|
+
s.add_dependency(%q<guard-rspec>, ["~> 2.1"])
|
41
|
+
s.add_dependency(%q<guard-yard>, ["~> 2.0"])
|
42
|
+
s.add_dependency(%q<guard-shell>, ["~> 0.5"])
|
43
|
+
s.add_dependency(%q<rb-fsevent>, ["~> 0.9"])
|
44
|
+
s.add_dependency(%q<fuubar>, ["~> 1.1"])
|
32
45
|
s.add_dependency(%q<redcarpet>, ["~> 2.2.2"])
|
46
|
+
s.add_dependency(%q<github-markup>, ["~> 0.7"])
|
33
47
|
end
|
34
48
|
else
|
35
49
|
s.add_dependency(%q<version>, ["~> 1.0.0"])
|
36
50
|
s.add_dependency(%q<glib2>, ["~> 1.1.5"])
|
51
|
+
s.add_dependency(%q<at>, ["~> 0.1.3"])
|
37
52
|
s.add_dependency(%q<rake>, ["~> 0.9"])
|
38
|
-
s.add_dependency(%q<
|
53
|
+
s.add_dependency(%q<gtk2>, ["~> 1.1.5"])
|
54
|
+
s.add_dependency(%q<guard-rspec>, ["~> 2.1"])
|
55
|
+
s.add_dependency(%q<guard-yard>, ["~> 2.0"])
|
56
|
+
s.add_dependency(%q<guard-shell>, ["~> 0.5"])
|
57
|
+
s.add_dependency(%q<rb-fsevent>, ["~> 0.9"])
|
58
|
+
s.add_dependency(%q<fuubar>, ["~> 1.1"])
|
39
59
|
s.add_dependency(%q<redcarpet>, ["~> 2.2.2"])
|
60
|
+
s.add_dependency(%q<github-markup>, ["~> 0.7"])
|
40
61
|
end
|
41
62
|
end
|
data/lib/glib/eventable.rb
CHANGED
@@ -9,10 +9,11 @@ module GLib
|
|
9
9
|
is_versioned
|
10
10
|
|
11
11
|
# Connect a signal to a method or return all connected events.
|
12
|
-
|
13
|
-
|
12
|
+
#
|
13
|
+
# @param [{ Symbol => Symbol }] event_hash a Hash where the key is the signal and the value is the method name.
|
14
|
+
# @return [Hash] a Hash of all registered events where the key is the signal and the value is the method name.
|
14
15
|
def event(event_hash=nil)
|
15
|
-
@events ||= {}
|
16
|
+
@events ||= ancestors[1].respond_to?(:events) ? ancestors[1].events.dup : {}
|
16
17
|
return @events if event_hash.nil?
|
17
18
|
|
18
19
|
raise TypeError, 'event_hash must respond to :to_hash or :to_h' unless [:to_hash, :to_h].any? { |method_name| event_hash.respond_to?(method_name) }
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
shared_examples 'an eventable GLib object' do
|
4
|
+
describe '.events' do
|
5
|
+
it 'should return the current Hash of registered events' do
|
6
|
+
subject.class.events.should == { 'destroy' => :on_destroy }
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '#on_destroy' do
|
11
|
+
it 'should be run when a `destroy` signal is emitted' do
|
12
|
+
subject.at.is_destroyed.should be_false
|
13
|
+
subject.signal_emit('destroy')
|
14
|
+
subject.at.is_destroyed.should be_true
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe BaseWindow do
|
20
|
+
it_behaves_like 'an eventable GLib object'
|
21
|
+
end
|
22
|
+
|
23
|
+
describe MainWindow do
|
24
|
+
it_behaves_like 'an eventable GLib object'
|
25
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'pathname'
|
2
|
+
|
3
|
+
# __LIB__ = Pathname.new(__FILE__).join('..', '..', 'lib').expand_path
|
4
|
+
# $:.unshift(__LIB__.to_s) unless $:.include?(__LIB__.to_s)
|
5
|
+
|
6
|
+
require 'bundler/setup'
|
7
|
+
|
8
|
+
Bundler.require(:development)
|
9
|
+
|
10
|
+
require 'gtk2'
|
11
|
+
require 'glib-eventable'
|
12
|
+
|
13
|
+
Dir[ Pathname.new(__FILE__).join('..', 'support', '**', '*').expand_path ].each { |filename| require filename }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glib-eventable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 1.1.5
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: at
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.1.3
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.1.3
|
46
62
|
- !ruby/object:Gem::Dependency
|
47
63
|
name: rake
|
48
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,6 +75,38 @@ dependencies:
|
|
59
75
|
- - ~>
|
60
76
|
- !ruby/object:Gem::Version
|
61
77
|
version: '0.9'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: gtk2
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 1.1.5
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.1.5
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: guard-rspec
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '2.1'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '2.1'
|
62
110
|
- !ruby/object:Gem::Dependency
|
63
111
|
name: guard-yard
|
64
112
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +114,7 @@ dependencies:
|
|
66
114
|
requirements:
|
67
115
|
- - ~>
|
68
116
|
- !ruby/object:Gem::Version
|
69
|
-
version: 2.0
|
117
|
+
version: '2.0'
|
70
118
|
type: :development
|
71
119
|
prerelease: false
|
72
120
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -74,7 +122,55 @@ dependencies:
|
|
74
122
|
requirements:
|
75
123
|
- - ~>
|
76
124
|
- !ruby/object:Gem::Version
|
77
|
-
version: 2.0
|
125
|
+
version: '2.0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: guard-shell
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0.5'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0.5'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: rb-fsevent
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0.9'
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0.9'
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: fuubar
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ~>
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '1.1'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '1.1'
|
78
174
|
- !ruby/object:Gem::Dependency
|
79
175
|
name: redcarpet
|
80
176
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,6 +187,22 @@ dependencies:
|
|
91
187
|
- - ~>
|
92
188
|
- !ruby/object:Gem::Version
|
93
189
|
version: 2.2.2
|
190
|
+
- !ruby/object:Gem::Dependency
|
191
|
+
name: github-markup
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - ~>
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0.7'
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
202
|
+
requirements:
|
203
|
+
- - ~>
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0.7'
|
94
206
|
description: This is a helper gem for ruby-gnome2 applications that allows developers
|
95
207
|
to easily connect signals to methods.
|
96
208
|
email: ryan@rynet.us
|
@@ -101,7 +213,6 @@ files:
|
|
101
213
|
- .gitignore
|
102
214
|
- .rvmrc
|
103
215
|
- Gemfile
|
104
|
-
- Gemfile.lock
|
105
216
|
- Guardfile
|
106
217
|
- LICENSE
|
107
218
|
- README.md
|
@@ -110,6 +221,9 @@ files:
|
|
110
221
|
- glib-eventable.gemspec
|
111
222
|
- lib/glib-eventable.rb
|
112
223
|
- lib/glib/eventable.rb
|
224
|
+
- spec/glib/eventable_spec.rb
|
225
|
+
- spec/spec_helper.rb
|
226
|
+
- spec/support/windows.rb
|
113
227
|
homepage: http://github.com/c00lryguy/glib-eventable
|
114
228
|
licenses: []
|
115
229
|
post_install_message:
|
data/Gemfile.lock
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
glib-eventable (0.1.0)
|
5
|
-
glib2 (~> 1.1.5)
|
6
|
-
version (~> 1.0.0)
|
7
|
-
|
8
|
-
GEM
|
9
|
-
remote: http://rubygems.org/
|
10
|
-
specs:
|
11
|
-
coderay (1.0.8)
|
12
|
-
glib2 (1.1.5)
|
13
|
-
pkg-config
|
14
|
-
guard (1.5.4)
|
15
|
-
listen (>= 0.4.2)
|
16
|
-
lumberjack (>= 1.0.2)
|
17
|
-
pry (>= 0.9.10)
|
18
|
-
thor (>= 0.14.6)
|
19
|
-
guard-yard (2.0.1)
|
20
|
-
guard (>= 1.1.0)
|
21
|
-
yard (>= 0.7.0)
|
22
|
-
listen (0.5.3)
|
23
|
-
lumberjack (1.0.2)
|
24
|
-
method_source (0.8.1)
|
25
|
-
pkg-config (1.1.4)
|
26
|
-
pry (0.9.10)
|
27
|
-
coderay (~> 1.0.5)
|
28
|
-
method_source (~> 0.8)
|
29
|
-
slop (~> 3.3.1)
|
30
|
-
rake (0.9.4)
|
31
|
-
redcarpet (2.2.2)
|
32
|
-
slop (3.3.3)
|
33
|
-
thor (0.16.0)
|
34
|
-
version (1.0.0)
|
35
|
-
yard (0.8.3)
|
36
|
-
|
37
|
-
PLATFORMS
|
38
|
-
ruby
|
39
|
-
|
40
|
-
DEPENDENCIES
|
41
|
-
glib-eventable!
|
42
|
-
guard-yard (~> 2.0.1)
|
43
|
-
rake (~> 0.9)
|
44
|
-
redcarpet (~> 2.2.2)
|