glib-eventable 0.1.1 → 0.1.2

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/.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)