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 CHANGED
@@ -1,4 +1,6 @@
1
1
  pkg/
2
+ tmp/
2
3
  doc/
3
4
  .DS_Store
4
5
  .yardoc
6
+ *.lock
data/Guardfile CHANGED
@@ -1,5 +1,28 @@
1
- guard 'yard' do
2
- watch(%r{app/.+\.rb})
3
- watch(%r{lib/.+\.rb})
4
- watch(%r{ext/.+\.c})
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 'guard-yard', '~> 2.0.1'
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
- namespace :gem do
40
- desc 'Generate the gemspec defined in this Rakefile'
41
- task :spec do
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 :default do
53
- puts `rake -T`
54
- end
57
+ task default: :gemspec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -2,14 +2,14 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "glib-eventable"
5
- s.version = "0.1.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", "Gemfile.lock", "Guardfile", "LICENSE", "README.md", "Rakefile", "VERSION", "glib-eventable.gemspec", "lib/glib-eventable.rb", "lib/glib/eventable.rb"]
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<guard-yard>, ["~> 2.0.1"])
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<guard-yard>, ["~> 2.0.1"])
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<guard-yard>, ["~> 2.0.1"])
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
@@ -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
- # @return [Hash] a Hash where the key is the signal and the value is the method name.
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
@@ -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 }
@@ -0,0 +1,14 @@
1
+ class BaseWindow < Gtk::Window
2
+ event 'destroy' => :on_destroy
3
+
4
+ def initialize
5
+ super
6
+ @is_destroyed = false
7
+ end
8
+
9
+ def on_destroy
10
+ @is_destroyed = true
11
+ end
12
+ end
13
+
14
+ class MainWindow < BaseWindow; end
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.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.1
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.1
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)