firetower 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.bnsignore ADDED
@@ -0,0 +1,18 @@
1
+ # The list of files that should be ignored by Mr Bones.
2
+ # Lines that start with '#' are comments.
3
+ #
4
+ # A .gitignore file can be used instead by setting it as the ignore
5
+ # file in your Rakefile:
6
+ #
7
+ # Bones {
8
+ # ignore_file '.gitignore'
9
+ # }
10
+ #
11
+ # For a project with a C extension, the following would be a good set of
12
+ # exclude patterns (uncomment them if you want to use them):
13
+ # *.[oa]
14
+ # *~
15
+ announcement.txt
16
+ coverage
17
+ doc
18
+ pkg
data/Gemfile ADDED
@@ -0,0 +1,22 @@
1
+ source :rubygems
2
+
3
+ group :rake do
4
+ gem 'bones'
5
+ gem 'bones-git'
6
+ gem 'rspec', '~> 1.3.1'
7
+ gem 'bones-rspec'
8
+ end
9
+
10
+ # duplication with Rakefile :(
11
+ gem 'twitter-stream', '~> 0.1.6'
12
+ gem 'eventmachine', '~> 0.12.10'
13
+ gem 'json', '~> 1.4'
14
+ gem 'addressable', '~> 2.1'
15
+ gem 'main', '~> 4.2'
16
+ gem 'servolux', '~> 0.9.4'
17
+ gem 'hookr', '~> 1.1'
18
+ gem 'highline', '~> 1.5'
19
+ gem 'yammer4r', '~> 0.1.5'
20
+ gem 'oauth', '~> 0.4.3'
21
+ gem 'launchy'
22
+
data/Gemfile.lock ADDED
@@ -0,0 +1,69 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ addressable (2.2.6)
5
+ arrayfields (4.7.4)
6
+ bones (3.7.0)
7
+ little-plugger (>= 1.1.2)
8
+ loquacious (>= 1.7.0)
9
+ rake (>= 0.8.7)
10
+ bones-git (1.2.4)
11
+ bones (>= 3.6)
12
+ git (>= 1.2.5)
13
+ bones-rspec (2.0.1)
14
+ bones (>= 3.6)
15
+ rspec (>= 1.3)
16
+ configuration (1.3.1)
17
+ eventmachine (0.12.10)
18
+ fail-fast (1.1.0)
19
+ fattr (2.2.0)
20
+ git (1.2.5)
21
+ highline (1.6.2)
22
+ hookr (1.1.0)
23
+ fail-fast (>= 1.0.0)
24
+ http_parser.rb (0.5.1)
25
+ json (1.5.3)
26
+ launchy (0.4.0)
27
+ configuration (>= 0.0.5)
28
+ rake (>= 0.8.1)
29
+ little-plugger (1.1.2)
30
+ loquacious (1.8.1)
31
+ main (4.6.0)
32
+ arrayfields (>= 4.7.4)
33
+ fattr (>= 2.1.0)
34
+ map (>= 2.0.0)
35
+ map (4.2.0)
36
+ mash (0.1.1)
37
+ oauth (0.4.5)
38
+ rake (0.9.2)
39
+ rspec (1.3.2)
40
+ servolux (0.9.6)
41
+ simple_oauth (0.1.5)
42
+ twitter-stream (0.1.14)
43
+ eventmachine (>= 0.12.8)
44
+ http_parser.rb (~> 0.5.1)
45
+ simple_oauth (~> 0.1.4)
46
+ yammer4r (0.1.5)
47
+ json (>= 1.1.7)
48
+ mash (>= 0.0.3)
49
+ oauth (>= 0.3.5)
50
+
51
+ PLATFORMS
52
+ ruby
53
+
54
+ DEPENDENCIES
55
+ addressable (~> 2.1)
56
+ bones
57
+ bones-git
58
+ bones-rspec
59
+ eventmachine (~> 0.12.10)
60
+ highline (~> 1.5)
61
+ hookr (~> 1.1)
62
+ json (~> 1.4)
63
+ launchy
64
+ main (~> 4.2)
65
+ oauth (~> 0.4.3)
66
+ rspec (~> 1.3.1)
67
+ servolux (~> 0.9.4)
68
+ twitter-stream (~> 0.1.6)
69
+ yammer4r (~> 0.1.5)
data/History.txt CHANGED
@@ -1,3 +1,12 @@
1
+ == 0.1.0 / 2011-09-06
2
+
3
+ * 2 minor enhancements
4
+ * Improve Firetower::Room API to make it simpler to say, paste, or play something in a room
5
+ * Create Firetower::Event to make it simpler to deal with events in handlers
6
+ * `.text?` and `.sound?` methods for determining if it's a text or sound message
7
+ * Add `=~` operator, which delegates to body
8
+
9
+
1
10
  == 0.0.9 / 2011-07-06
2
11
 
3
12
  * 1 minor enhancement
data/README.org CHANGED
@@ -12,7 +12,8 @@
12
12
  [[file:images/BaldMountainLookout.jpg]]
13
13
 
14
14
  A command-line interface to the Campfire API
15
- (http://developer.37signals.com/campfire/) by [[mailto:avdi@avdi.org][Avdi Grimm]]
15
+ (http://developer.37signals.com/campfire/) by [[mailto:avdi@avdi.org][Avdi Grimm]].
16
+ Also, a pretty simple way to create a Campfire bot.
16
17
 
17
18
  URL: http://github.com/avdi/firetower
18
19
 
@@ -31,7 +32,7 @@
31
32
  : sudo gem install firetower
32
33
  : firetower setup
33
34
 
34
- *** Usage
35
+ *** Command Usage
35
36
  ***** Say something in campfire
36
37
  : firetower say 'blah blah blah'
37
38
  ***** Say something to a non-default room
@@ -48,26 +49,30 @@
48
49
  : firetower stop
49
50
 
50
51
  *** Configuration
52
+
51
53
  Edit $HOME/.firetower/firetower.conf
52
54
 
53
55
  All configuration is done in Ruby. The context is a Firetower::Sesson
54
56
  object. You can add handlers for events:
55
57
 
56
- : receive do |session, event| ... end
58
+ : receive do |session, event|
59
+ : ...
60
+ : end
57
61
 
58
62
  Or enable plugins:
59
63
 
60
64
  : use NotifyPlugin
61
65
 
62
- ***** A simple bot
66
+ ***** Creating a bot
67
+
63
68
  Drop this in ~/.firetower/firetower.conf for a simple (and VERY UNSAFE!) demo
64
69
  of a Campfire bot which will eval arbitrary Ruby code whenever someone
65
70
  prefaces a message with "!eval":
66
71
 
67
72
  #+BEGIN_SRC ruby
68
73
  receive do |session, event|
69
- if event['type'] == 'TextMessage' && event['body'] =~ /^!eval (.*)$/
70
- event.room.account.paste!(event.room.name, "Eval result:\n" + eval($1).to_s)
74
+ if event.text? && event =~ /^!eval (.*)$/
75
+ event.room.paste!(event.room.name, "Eval result:\n" + eval($1).to_s)
71
76
  end
72
77
  end
73
78
  #+END_SRC
data/Rakefile CHANGED
@@ -1,12 +1,13 @@
1
+ require "rubygems"
2
+ require "bundler"
3
+ Bundler.setup(:default, :rake)
1
4
 
2
- begin
3
- require 'bones'
4
- rescue LoadError
5
- abort '### Please install the "bones" gem ###'
6
- end
5
+ require 'bones'
6
+ require 'bones/plugins/git'
7
+ require 'bones/plugins/rspec'
7
8
 
8
- task :default => 'test:run'
9
- task 'gem:release' => 'test:run'
9
+ task :default => 'spec:run'
10
+ task 'gem:release' => 'spec:run'
10
11
 
11
12
  Bones {
12
13
  name 'firetower'
data/hookr ADDED
@@ -0,0 +1 @@
1
+ Subproject commit 6d0c1a853bdfd649c47a689ae8f880d51ac55e58-dirty
@@ -0,0 +1,43 @@
1
+ module Firetower
2
+ class Event
3
+ attr_accessor :attributes
4
+ attr_accessor :room
5
+ attr_accessor :created_at, :body, :id, :user_id, :type
6
+
7
+ def self.parse(json)
8
+ new(JSON.parse(json))
9
+ end
10
+
11
+ def initialize(attributes)
12
+ @attributes = attributes
13
+ @attributes.each do |key, value|
14
+ send("#{key}=", value) if respond_to?("#{key}=")
15
+ end
16
+ end
17
+
18
+ def [](key)
19
+ @attributes[key]
20
+ end
21
+
22
+ def []=(key, value)
23
+ @attributes[key] = value
24
+ end
25
+
26
+ def text?
27
+ self.type == 'TextMessage'
28
+ end
29
+
30
+ def sound?
31
+ self.type == 'SoundMessage'
32
+ end
33
+
34
+ def timestamp?
35
+ self.type == 'TimestampMessage'
36
+ end
37
+
38
+ def =~(pattern)
39
+ self.body =~ pattern
40
+ end
41
+
42
+ end
43
+ end
@@ -11,5 +11,17 @@ module Firetower
11
11
  def to_s
12
12
  "#{account.subdomain}/#{id} (#{name})"
13
13
  end
14
+
15
+ def say!(message)
16
+ account.say!(name, message)
17
+ end
18
+
19
+ def paste!(message)
20
+ account.paste!(name, message)
21
+ end
22
+
23
+ def play!(message)
24
+ account.play!(name, message)
25
+ end
14
26
  end
15
27
  end
@@ -41,11 +41,12 @@ module Firetower
41
41
  :host => 'streaming.campfirenow.com',
42
42
  :auth => "#{room.account.token}:x")
43
43
 
44
- stream.each_item do |event|
45
- @logger.info "Processing event:\n #{event}"
46
- event = JSON.parse(event)
44
+ stream.each_item do |json|
45
+ @logger.info "Processing event:\n #{json}"
46
+
47
+ event = Firetower::Event.parse(json)
48
+ event.room = room
47
49
 
48
- (class << event; self; end).send(:define_method, :room){room}
49
50
  session.execute_hook(:receive, session, event)
50
51
  end
51
52
 
@@ -62,6 +62,34 @@ describe Firetower do
62
62
  end
63
63
  end
64
64
 
65
+ describe Firetower::Room do
66
+ subject do
67
+ it = Firetower::Room.new(account, 'id' => '1234', 'name' => 'awesome')
68
+ end
69
+
70
+ let(:account) do
71
+ mock(:account)
72
+ end
73
+
74
+ it "has shortcut for say" do
75
+ account.should_receive(:say!).with('awesome', 'woooooot')
76
+
77
+ subject.say! 'woooooot'
78
+ end
79
+
80
+ it "has shortcut for paste" do
81
+ account.should_receive(:paste!).with('awesome', 'woooooot')
82
+
83
+ subject.paste! 'woooooot'
84
+ end
85
+
86
+ it "has shortcut for play" do
87
+ account.should_receive(:play!).with('awesome', 'woooooot')
88
+
89
+ subject.play! 'woooooot'
90
+ end
91
+ end
92
+
65
93
  shared_examples_for "Notifier Plugins" do
66
94
 
67
95
  context "given an ignore list" do
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require "rubygems"
2
+ require "bundler"
3
+ Bundler.setup(:default, :development)
1
4
 
2
5
  require File.expand_path(
3
6
  File.join(File.dirname(__FILE__), %w[.. lib firetower]))
data/version.txt CHANGED
@@ -1 +1 @@
1
- 0.0.9
1
+ 0.1.0
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firetower
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
5
- prerelease: false
4
+ hash: 27
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
+ - 1
8
9
  - 0
9
- - 9
10
- version: 0.0.9
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Avdi Grimm
@@ -15,13 +15,13 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-07-06 00:00:00 -04:00
18
+ date: 2011-09-06 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
+ type: :runtime
22
23
  name: twitter-stream
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
27
  - - ~>
@@ -32,12 +32,12 @@ dependencies:
32
32
  - 1
33
33
  - 6
34
34
  version: 0.1.6
35
- type: :runtime
36
- version_requirements: *id001
35
+ prerelease: false
36
+ requirement: *id001
37
37
  - !ruby/object:Gem::Dependency
38
+ type: :runtime
38
39
  name: eventmachine
39
- prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
40
+ version_requirements: &id002 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ~>
@@ -48,12 +48,12 @@ dependencies:
48
48
  - 12
49
49
  - 10
50
50
  version: 0.12.10
51
- type: :runtime
52
- version_requirements: *id002
51
+ prerelease: false
52
+ requirement: *id002
53
53
  - !ruby/object:Gem::Dependency
54
+ type: :runtime
54
55
  name: json
55
- prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
56
+ version_requirements: &id003 !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
59
  - - ~>
@@ -63,12 +63,12 @@ dependencies:
63
63
  - 1
64
64
  - 4
65
65
  version: "1.4"
66
- type: :runtime
67
- version_requirements: *id003
66
+ prerelease: false
67
+ requirement: *id003
68
68
  - !ruby/object:Gem::Dependency
69
+ type: :runtime
69
70
  name: addressable
70
- prerelease: false
71
- requirement: &id004 !ruby/object:Gem::Requirement
71
+ version_requirements: &id004 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -78,12 +78,12 @@ dependencies:
78
78
  - 2
79
79
  - 1
80
80
  version: "2.1"
81
- type: :runtime
82
- version_requirements: *id004
81
+ prerelease: false
82
+ requirement: *id004
83
83
  - !ruby/object:Gem::Dependency
84
+ type: :runtime
84
85
  name: main
85
- prerelease: false
86
- requirement: &id005 !ruby/object:Gem::Requirement
86
+ version_requirements: &id005 !ruby/object:Gem::Requirement
87
87
  none: false
88
88
  requirements:
89
89
  - - ~>
@@ -93,12 +93,12 @@ dependencies:
93
93
  - 4
94
94
  - 2
95
95
  version: "4.2"
96
- type: :runtime
97
- version_requirements: *id005
96
+ prerelease: false
97
+ requirement: *id005
98
98
  - !ruby/object:Gem::Dependency
99
+ type: :runtime
99
100
  name: servolux
100
- prerelease: false
101
- requirement: &id006 !ruby/object:Gem::Requirement
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
102
102
  none: false
103
103
  requirements:
104
104
  - - ~>
@@ -109,12 +109,12 @@ dependencies:
109
109
  - 9
110
110
  - 4
111
111
  version: 0.9.4
112
- type: :runtime
113
- version_requirements: *id006
112
+ prerelease: false
113
+ requirement: *id006
114
114
  - !ruby/object:Gem::Dependency
115
+ type: :runtime
115
116
  name: hookr
116
- prerelease: false
117
- requirement: &id007 !ruby/object:Gem::Requirement
117
+ version_requirements: &id007 !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements:
120
120
  - - ~>
@@ -124,12 +124,12 @@ dependencies:
124
124
  - 1
125
125
  - 1
126
126
  version: "1.1"
127
- type: :runtime
128
- version_requirements: *id007
127
+ prerelease: false
128
+ requirement: *id007
129
129
  - !ruby/object:Gem::Dependency
130
+ type: :runtime
130
131
  name: highline
131
- prerelease: false
132
- requirement: &id008 !ruby/object:Gem::Requirement
132
+ version_requirements: &id008 !ruby/object:Gem::Requirement
133
133
  none: false
134
134
  requirements:
135
135
  - - ~>
@@ -139,12 +139,12 @@ dependencies:
139
139
  - 1
140
140
  - 5
141
141
  version: "1.5"
142
- type: :runtime
143
- version_requirements: *id008
142
+ prerelease: false
143
+ requirement: *id008
144
144
  - !ruby/object:Gem::Dependency
145
+ type: :runtime
145
146
  name: yammer4r
146
- prerelease: false
147
- requirement: &id009 !ruby/object:Gem::Requirement
147
+ version_requirements: &id009 !ruby/object:Gem::Requirement
148
148
  none: false
149
149
  requirements:
150
150
  - - ~>
@@ -155,12 +155,12 @@ dependencies:
155
155
  - 1
156
156
  - 5
157
157
  version: 0.1.5
158
- type: :runtime
159
- version_requirements: *id009
158
+ prerelease: false
159
+ requirement: *id009
160
160
  - !ruby/object:Gem::Dependency
161
+ type: :runtime
161
162
  name: oauth
162
- prerelease: false
163
- requirement: &id010 !ruby/object:Gem::Requirement
163
+ version_requirements: &id010 !ruby/object:Gem::Requirement
164
164
  none: false
165
165
  requirements:
166
166
  - - ~>
@@ -171,28 +171,28 @@ dependencies:
171
171
  - 4
172
172
  - 3
173
173
  version: 0.4.3
174
- type: :runtime
175
- version_requirements: *id010
174
+ prerelease: false
175
+ requirement: *id010
176
176
  - !ruby/object:Gem::Dependency
177
+ type: :runtime
177
178
  name: launchy
178
- prerelease: false
179
- requirement: &id011 !ruby/object:Gem::Requirement
179
+ version_requirements: &id011 !ruby/object:Gem::Requirement
180
180
  none: false
181
181
  requirements:
182
182
  - - ">="
183
183
  - !ruby/object:Gem::Version
184
- hash: 29
184
+ hash: 15
185
185
  segments:
186
186
  - 0
187
- - 3
188
- - 7
189
- version: 0.3.7
190
- type: :runtime
191
- version_requirements: *id011
187
+ - 4
188
+ - 0
189
+ version: 0.4.0
190
+ prerelease: false
191
+ requirement: *id011
192
192
  - !ruby/object:Gem::Dependency
193
+ type: :development
193
194
  name: bones
194
- prerelease: false
195
- requirement: &id012 !ruby/object:Gem::Requirement
195
+ version_requirements: &id012 !ruby/object:Gem::Requirement
196
196
  none: false
197
197
  requirements:
198
198
  - - ">="
@@ -203,8 +203,8 @@ dependencies:
203
203
  - 7
204
204
  - 0
205
205
  version: 3.7.0
206
- type: :development
207
- version_requirements: *id012
206
+ prerelease: false
207
+ requirement: *id012
208
208
  description: ""
209
209
  email: avdi@avdi.org
210
210
  executables:
@@ -214,19 +214,99 @@ extensions: []
214
214
  extra_rdoc_files:
215
215
  - History.txt
216
216
  - bin/firetower
217
+ - hookr/History.txt
218
+ - hookr/Manifest.txt
219
+ - hookr/README.txt
220
+ - hookr/pkg/schleyfox-hookr-1.0.1/History.txt
221
+ - hookr/pkg/schleyfox-hookr-1.0.1/Manifest.txt
222
+ - hookr/pkg/schleyfox-hookr-1.0.1/README.txt
217
223
  - lib/firetower/firetower.conf.erb
218
224
  - lib/firetower/plugins/core/campfire-logo-for-fluid.png
219
225
  files:
226
+ - .bnsignore
220
227
  - .rvmrc
228
+ - Gemfile
229
+ - Gemfile.lock
221
230
  - History.txt
222
231
  - README.org
223
232
  - Rakefile
224
233
  - bin/firetower
225
234
  - example/bot.rb
235
+ - hookr/.git/HEAD
236
+ - hookr/.git/config
237
+ - hookr/.git/description
238
+ - hookr/.git/hooks/applypatch-msg.sample
239
+ - hookr/.git/hooks/commit-msg.sample
240
+ - hookr/.git/hooks/post-commit.sample
241
+ - hookr/.git/hooks/post-receive.sample
242
+ - hookr/.git/hooks/post-update.sample
243
+ - hookr/.git/hooks/pre-applypatch.sample
244
+ - hookr/.git/hooks/pre-commit.sample
245
+ - hookr/.git/hooks/pre-rebase.sample
246
+ - hookr/.git/hooks/prepare-commit-msg.sample
247
+ - hookr/.git/hooks/update.sample
248
+ - hookr/.git/index
249
+ - hookr/.git/info/exclude
250
+ - hookr/.git/logs/HEAD
251
+ - hookr/.git/logs/refs/heads/master
252
+ - hookr/.git/objects/pack/pack-5b86f143d74b8961e295a79e3b1cba3cefca9b6d.idx
253
+ - hookr/.git/objects/pack/pack-5b86f143d74b8961e295a79e3b1cba3cefca9b6d.pack
254
+ - hookr/.git/packed-refs
255
+ - hookr/.git/refs/heads/master
256
+ - hookr/.git/refs/remotes/origin/HEAD
257
+ - hookr/.gitignore
258
+ - hookr/History.txt
259
+ - hookr/Manifest.txt
260
+ - hookr/README.txt
261
+ - hookr/Rakefile
262
+ - hookr/TODO
263
+ - hookr/bin/hookr
264
+ - hookr/lib/hookr.rb
265
+ - hookr/pkg/schleyfox-hookr-1.0.1.gem
266
+ - hookr/pkg/schleyfox-hookr-1.0.1.tgz
267
+ - hookr/pkg/schleyfox-hookr-1.0.1/History.txt
268
+ - hookr/pkg/schleyfox-hookr-1.0.1/Manifest.txt
269
+ - hookr/pkg/schleyfox-hookr-1.0.1/README.txt
270
+ - hookr/pkg/schleyfox-hookr-1.0.1/Rakefile
271
+ - hookr/pkg/schleyfox-hookr-1.0.1/bin/hookr
272
+ - hookr/pkg/schleyfox-hookr-1.0.1/lib/hookr.rb
273
+ - hookr/pkg/schleyfox-hookr-1.0.1/spec/hookr_spec.rb
274
+ - hookr/pkg/schleyfox-hookr-1.0.1/spec/spec_helper.rb
275
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/ann.rake
276
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/bones.rake
277
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/gem.rake
278
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/git.rake
279
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/manifest.rake
280
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/notes.rake
281
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/post_load.rake
282
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/rdoc.rake
283
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/rubyforge.rake
284
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/setup.rb
285
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/spec.rake
286
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/svn.rake
287
+ - hookr/pkg/schleyfox-hookr-1.0.1/tasks/test.rake
288
+ - hookr/pkg/schleyfox-hookr-1.0.1/test/test_hookr.rb
289
+ - hookr/spec/hookr_spec.rb
290
+ - hookr/spec/spec_helper.rb
291
+ - hookr/tasks/ann.rake
292
+ - hookr/tasks/bones.rake
293
+ - hookr/tasks/gem.rake
294
+ - hookr/tasks/git.rake
295
+ - hookr/tasks/manifest.rake
296
+ - hookr/tasks/notes.rake
297
+ - hookr/tasks/post_load.rake
298
+ - hookr/tasks/rdoc.rake
299
+ - hookr/tasks/rubyforge.rake
300
+ - hookr/tasks/setup.rb
301
+ - hookr/tasks/spec.rake
302
+ - hookr/tasks/svn.rake
303
+ - hookr/tasks/test.rake
304
+ - hookr/test/test_hookr.rb
226
305
  - images/BaldMountainLookout.jpg
227
306
  - lib/firetower.rb
228
307
  - lib/firetower/account.rb
229
308
  - lib/firetower/accounts.rb
309
+ - lib/firetower/event.rb
230
310
  - lib/firetower/firetower.conf.erb
231
311
  - lib/firetower/plugins/core/campfire-logo-for-fluid.png
232
312
  - lib/firetower/plugins/core/growl_plugin.rb
@@ -243,7 +323,6 @@ files:
243
323
  - spec/firetower_spec.rb
244
324
  - spec/spec_helper.rb
245
325
  - tags
246
- - test/test_firetower.rb
247
326
  - version.txt
248
327
  has_rdoc: true
249
328
  homepage: http://github.com/avdi/firetower
@@ -276,9 +355,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
276
355
  requirements: []
277
356
 
278
357
  rubyforge_project: firetower
279
- rubygems_version: 1.3.7
358
+ rubygems_version: 1.4.2
280
359
  signing_key:
281
360
  specification_version: 3
282
361
  summary: A command-line interface to Campfire chats
283
- test_files:
284
- - test/test_firetower.rb
362
+ test_files: []
363
+
File without changes