flamethrower 0.2.0 → 0.3.0

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.
@@ -0,0 +1,4 @@
1
+ *.swp
2
+ *.swo
3
+ *.swn
4
+ *.gem
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{flamethrower}
8
- s.version = "0.2.0"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Blake Smith"]
12
- s.date = %q{2011-01-17}
12
+ s.date = %q{2011-01-20}
13
13
  s.default_executable = %q{flamethrower}
14
14
  s.description = %q{Flamethrower gives you the power to use your awesome irc client to talk in your campfire rooms.}
15
15
  s.email = %q{blakesmith0@gmail.com}
@@ -18,73 +18,75 @@ Gem::Specification.new do |s|
18
18
  "README.rdoc"
19
19
  ]
20
20
  s.files = [
21
- ".rspec",
22
- "Gemfile",
23
- "Gemfile.lock",
24
- "MIT-LICENSE",
25
- "README.rdoc",
26
- "Rakefile",
27
- "VERSION",
28
- "bin/flamethrower",
29
- "flamethrower.gemspec",
30
- "lib/flamethrower.rb",
31
- "lib/flamethrower/campfire/connection.rb",
32
- "lib/flamethrower/campfire/message.rb",
33
- "lib/flamethrower/campfire/rest_api.rb",
34
- "lib/flamethrower/campfire/room.rb",
35
- "lib/flamethrower/campfire/user.rb",
36
- "lib/flamethrower/dispatcher.rb",
37
- "lib/flamethrower/irc/channel.rb",
38
- "lib/flamethrower/irc/codes.rb",
39
- "lib/flamethrower/irc/commands.rb",
40
- "lib/flamethrower/irc/message.rb",
41
- "lib/flamethrower/irc/user.rb",
42
- "lib/flamethrower/server.rb",
43
- "lib/flamethrower/server/event_server.rb",
44
- "lib/flamethrower/server/mock_server.rb",
45
- "spec/fixtures/enter_message.json",
46
- "spec/fixtures/kick_message.json",
47
- "spec/fixtures/leave_message.json",
48
- "spec/fixtures/message.json",
49
- "spec/fixtures/paste_message.json",
50
- "spec/fixtures/paste_message_with_pound.json",
51
- "spec/fixtures/room.json",
52
- "spec/fixtures/room_update.json",
53
- "spec/fixtures/rooms.json",
54
- "spec/fixtures/speak_message.json",
55
- "spec/fixtures/streaming_message.json",
56
- "spec/fixtures/timestamp_message.json",
57
- "spec/fixtures/upload_message.json",
58
- "spec/fixtures/upload_url_sample",
59
- "spec/fixtures/user.json",
60
- "spec/spec_helper.rb",
61
- "spec/unit/campfire/connection_spec.rb",
62
- "spec/unit/campfire/message_spec.rb",
63
- "spec/unit/campfire/room_spec.rb",
64
- "spec/unit/campfire/user_spec.rb",
65
- "spec/unit/dispatcher_spec.rb",
66
- "spec/unit/irc/channel_spec.rb",
67
- "spec/unit/irc/message_spec.rb",
68
- "spec/unit/irc/user_spec.rb",
69
- "spec/unit/server/event_server_spec.rb",
70
- "spec/unit/server_spec.rb"
21
+ ".gitignore",
22
+ ".rspec",
23
+ "Gemfile",
24
+ "Gemfile.lock",
25
+ "MIT-LICENSE",
26
+ "README.rdoc",
27
+ "Rakefile",
28
+ "VERSION",
29
+ "bin/flamethrower",
30
+ "flamethrower.gemspec",
31
+ "lib/flamethrower.rb",
32
+ "lib/flamethrower/campfire/connection.rb",
33
+ "lib/flamethrower/campfire/message.rb",
34
+ "lib/flamethrower/campfire/rest_api.rb",
35
+ "lib/flamethrower/campfire/room.rb",
36
+ "lib/flamethrower/campfire/user.rb",
37
+ "lib/flamethrower/dispatcher.rb",
38
+ "lib/flamethrower/irc/channel.rb",
39
+ "lib/flamethrower/irc/codes.rb",
40
+ "lib/flamethrower/irc/commands.rb",
41
+ "lib/flamethrower/irc/message.rb",
42
+ "lib/flamethrower/irc/user.rb",
43
+ "lib/flamethrower/server.rb",
44
+ "lib/flamethrower/server/event_server.rb",
45
+ "lib/flamethrower/server/mock_server.rb",
46
+ "spec/fixtures/enter_message.json",
47
+ "spec/fixtures/kick_message.json",
48
+ "spec/fixtures/leave_message.json",
49
+ "spec/fixtures/message.json",
50
+ "spec/fixtures/paste_message.json",
51
+ "spec/fixtures/paste_message_with_pound.json",
52
+ "spec/fixtures/room.json",
53
+ "spec/fixtures/room_update.json",
54
+ "spec/fixtures/rooms.json",
55
+ "spec/fixtures/speak_message.json",
56
+ "spec/fixtures/streaming_message.json",
57
+ "spec/fixtures/timestamp_message.json",
58
+ "spec/fixtures/upload_message.json",
59
+ "spec/fixtures/upload_url_sample",
60
+ "spec/fixtures/user.json",
61
+ "spec/spec_helper.rb",
62
+ "spec/unit/campfire/connection_spec.rb",
63
+ "spec/unit/campfire/message_spec.rb",
64
+ "spec/unit/campfire/room_spec.rb",
65
+ "spec/unit/campfire/user_spec.rb",
66
+ "spec/unit/dispatcher_spec.rb",
67
+ "spec/unit/irc/channel_spec.rb",
68
+ "spec/unit/irc/message_spec.rb",
69
+ "spec/unit/irc/user_spec.rb",
70
+ "spec/unit/server/event_server_spec.rb",
71
+ "spec/unit/server_spec.rb"
71
72
  ]
72
73
  s.homepage = %q{http://github.com/blakesmith/flamethrower}
74
+ s.rdoc_options = ["--charset=UTF-8"]
73
75
  s.require_paths = ["lib"]
74
76
  s.rubygems_version = %q{1.3.7}
75
77
  s.summary = %q{Campfire IRC gateway}
76
78
  s.test_files = [
77
79
  "spec/spec_helper.rb",
78
- "spec/unit/campfire/connection_spec.rb",
79
- "spec/unit/campfire/message_spec.rb",
80
- "spec/unit/campfire/room_spec.rb",
81
- "spec/unit/campfire/user_spec.rb",
82
- "spec/unit/dispatcher_spec.rb",
83
- "spec/unit/irc/channel_spec.rb",
84
- "spec/unit/irc/message_spec.rb",
85
- "spec/unit/irc/user_spec.rb",
86
- "spec/unit/server/event_server_spec.rb",
87
- "spec/unit/server_spec.rb"
80
+ "spec/unit/campfire/connection_spec.rb",
81
+ "spec/unit/campfire/message_spec.rb",
82
+ "spec/unit/campfire/room_spec.rb",
83
+ "spec/unit/campfire/user_spec.rb",
84
+ "spec/unit/dispatcher_spec.rb",
85
+ "spec/unit/irc/channel_spec.rb",
86
+ "spec/unit/irc/message_spec.rb",
87
+ "spec/unit/irc/user_spec.rb",
88
+ "spec/unit/server/event_server_spec.rb",
89
+ "spec/unit/server_spec.rb"
88
90
  ]
89
91
 
90
92
  if s.respond_to? :specification_version then
@@ -92,29 +94,17 @@ Gem::Specification.new do |s|
92
94
  s.specification_version = 3
93
95
 
94
96
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
95
- s.add_runtime_dependency(%q<eventmachine>, [">= 0"])
96
- s.add_runtime_dependency(%q<twitter-stream>, [">= 0"])
97
- s.add_runtime_dependency(%q<json>, [">= 0"])
98
- s.add_runtime_dependency(%q<em-http-request>, [">= 0"])
99
97
  s.add_runtime_dependency(%q<eventmachine>, [">= 0.12.10"])
100
98
  s.add_runtime_dependency(%q<json>, [">= 0"])
101
99
  s.add_runtime_dependency(%q<em-http-request>, [">= 0"])
102
100
  s.add_runtime_dependency(%q<twitter-stream>, [">= 0"])
103
101
  else
104
- s.add_dependency(%q<eventmachine>, [">= 0"])
105
- s.add_dependency(%q<twitter-stream>, [">= 0"])
106
- s.add_dependency(%q<json>, [">= 0"])
107
- s.add_dependency(%q<em-http-request>, [">= 0"])
108
102
  s.add_dependency(%q<eventmachine>, [">= 0.12.10"])
109
103
  s.add_dependency(%q<json>, [">= 0"])
110
104
  s.add_dependency(%q<em-http-request>, [">= 0"])
111
105
  s.add_dependency(%q<twitter-stream>, [">= 0"])
112
106
  end
113
107
  else
114
- s.add_dependency(%q<eventmachine>, [">= 0"])
115
- s.add_dependency(%q<twitter-stream>, [">= 0"])
116
- s.add_dependency(%q<json>, [">= 0"])
117
- s.add_dependency(%q<em-http-request>, [">= 0"])
118
108
  s.add_dependency(%q<eventmachine>, [">= 0.12.10"])
119
109
  s.add_dependency(%q<json>, [">= 0"])
120
110
  s.add_dependency(%q<em-http-request>, [">= 0"])
@@ -48,19 +48,30 @@ module Flamethrower
48
48
  http.callback do
49
49
  case http.response_header.status
50
50
  when 200
51
+ old_users = @users
51
52
  @users = []
52
53
  json = JSON.parse(http.response)
53
54
  json['room']['users'].each do |user|
54
55
  @users << Flamethrower::Campfire::User.new(user)
55
56
  end
57
+ resolve_renames(old_users, @users)
56
58
  send_info unless @room_info_sent
57
59
  @room_info_sent = true
58
60
  end
59
61
  end
60
62
  end
61
63
 
64
+ def resolve_renames(old_users, new_users)
65
+ old_users.each do |old_user|
66
+ user = new_users.detect {|new_user| new_user.number == old_user.number}
67
+ unless old_user.name == user.name
68
+ @server.send_rename(old_user.to_irc.nickname, user.to_irc.nickname)
69
+ end
70
+ end
71
+ end
72
+
62
73
  def say(body, message_type='TextMessage')
63
- params = {'body' => body, 'type' => message_type}
74
+ params = {'body' => translate_nicknames(body), 'type' => message_type}
64
75
  @outbound_messages << Flamethrower::Campfire::Message.new(params)
65
76
  end
66
77
 
@@ -73,9 +84,10 @@ module Flamethrower
73
84
  end
74
85
 
75
86
  def stop
76
- @room_alive = false
87
+ @stream.stop if @stream
77
88
  EventMachine.cancel_timer(@polling_timer)
78
89
  EventMachine.cancel_timer(@periodic_timer)
90
+ @room_alive = false
79
91
  end
80
92
 
81
93
  def poll
@@ -196,6 +208,18 @@ module Flamethrower
196
208
  channel.topic = topic.gsub("\n", "\s")
197
209
  end
198
210
  end
211
+
212
+ private
213
+
214
+ def translate_nicknames(message_body)
215
+ @users.each do |user|
216
+ if message_body.include?(user.to_irc.nickname)
217
+ message_body.gsub!(user.to_irc.nickname, user.name)
218
+ end
219
+ end
220
+ message_body
221
+ end
222
+
199
223
  end
200
224
  end
201
225
  end
@@ -8,7 +8,7 @@ module Flamethrower
8
8
 
9
9
  def handle_message(message)
10
10
  method = "handle_#{message.command.downcase}"
11
- send(method, message) if protected_methods.include?(method)
11
+ send(method, message) if protected_methods.map(&:to_s).include?(method)
12
12
  end
13
13
 
14
14
  private
@@ -25,19 +25,19 @@ module Flamethrower
25
25
  protected
26
26
 
27
27
  def handle_privmsg(message)
28
- name, body = *message.parameters
28
+ name, body = message.parameters
29
29
  find_channel_or_error(name) do |channel|
30
30
  channel.to_campfire.say(body)
31
31
  end
32
32
  end
33
33
 
34
34
  def handle_ping(message)
35
- hostname = *message.parameters
35
+ hostname = message.parameters.first
36
36
  server.send_pong(hostname)
37
37
  end
38
38
 
39
39
  def handle_user(message)
40
- username, hostname, servername, realname = *message.parameters
40
+ username, hostname, servername, realname = message.parameters
41
41
  server.current_user.username = username unless server.current_user.username
42
42
  server.current_user.hostname = hostname unless server.current_user.hostname
43
43
  server.current_user.servername = servername unless server.current_user.servername
@@ -48,7 +48,7 @@ module Flamethrower
48
48
  end
49
49
 
50
50
  def handle_nick(message)
51
- nickname = *message.parameters
51
+ nickname = message.parameters.first
52
52
  server.current_user.nickname = nickname
53
53
  if server.current_user.nick_set? && server.current_user.user_set?
54
54
  server.after_connect
@@ -84,6 +84,17 @@ module Flamethrower
84
84
  end
85
85
  end
86
86
 
87
+ def handle_away(message)
88
+ away_message = message.parameters.first
89
+ if away_message.empty?
90
+ server.current_user.away_message = nil
91
+ server.send_unaway
92
+ else
93
+ server.current_user.away_message = away_message
94
+ server.send_nowaway
95
+ end
96
+ end
97
+
87
98
  def handle_who(message)
88
99
  find_channel_or_error(message.parameters.first) do |channel|
89
100
  server.send_who(channel)
@@ -1,16 +1,18 @@
1
1
  module Flamethrower
2
2
  module Irc
3
3
  module Codes
4
- RPL_MOTDSTART = 375
5
- RPL_MOTD = 372
6
- RPL_ENDOFMOTD = 376
4
+ RPL_UMODEIS = 221
5
+ RPL_UNAWAY = 305
6
+ RPL_NOWAWAY = 306
7
+ RPL_ENDOFWHO = 315
8
+ RPL_CHANNELMODEIS = 324
7
9
  RPL_TOPIC = 332
8
10
  RPL_WHOREPLY = 352
9
- RPL_ENDOFWHO = 315
10
11
  RPL_NAMEREPLY = 353
11
12
  RPL_ENDOFNAMES = 366
12
- RPL_CHANNELMODEIS = 324
13
- RPL_UMODEIS = 221
13
+ RPL_MOTD = 372
14
+ RPL_MOTDSTART = 375
15
+ RPL_ENDOFMOTD = 376
14
16
 
15
17
  ERR_UNKNOWNCOMMAND = 421
16
18
  ERR_BADCHANNELKEY = 475
@@ -37,6 +37,14 @@ module Flamethrower
37
37
  send_message ":#{from} NICK #{to}"
38
38
  end
39
39
 
40
+ def send_nowaway
41
+ send_message reply(RPL_NOWAWAY, ":You have been marked as being away")
42
+ end
43
+
44
+ def send_unaway
45
+ send_message reply(RPL_UNAWAY, ":You are no longer marked as being away")
46
+ end
47
+
40
48
  def send_who(channel)
41
49
  send_messages do |messages|
42
50
  channel.users.each do |user|
@@ -3,6 +3,7 @@ module Flamethrower
3
3
  class User
4
4
 
5
5
  attr_accessor :username, :nickname, :hostname, :realname, :servername, :modes
6
+ attr_accessor :away_message
6
7
 
7
8
  def initialize(options={})
8
9
  @username = options[:username]
@@ -6,8 +6,7 @@ require 'webmock/rspec'
6
6
  require 'json'
7
7
  require 'time'
8
8
 
9
- #::FLAMETHROWER_LOGGER = Logger.new("/dev/null") unless Object.const_defined?("FLAMETHROWER_LOGGER")
10
- ::FLAMETHROWER_LOGGER = Logger.new("/Users/blake/test.log") unless Object.const_defined?("FLAMETHROWER_LOGGER")
9
+ ::FLAMETHROWER_LOGGER = Logger.new("/dev/null") unless Object.const_defined?("FLAMETHROWER_LOGGER")
11
10
 
12
11
  def json_fixture(name)
13
12
  file = File.join(File.dirname(__FILE__), "fixtures/#{name}.json")
@@ -73,6 +73,26 @@ describe Flamethrower::Campfire::Room do
73
73
  end
74
74
  end
75
75
 
76
+ describe "#resolve renames" do
77
+ it "calls 'send_rename' for each user who's name has changed" do
78
+ blake = Flamethrower::Campfire::User.new('id' => 1, 'name' => 'blake')
79
+ bob = Flamethrower::Campfire::User.new('id' => 2, 'name' => 'bob')
80
+ bill = Flamethrower::Campfire::User.new('id' => 3, 'name' => 'bill')
81
+ old_users = [blake, bob, bill]
82
+
83
+ blake2 = blake.dup
84
+ bob2 = bob.dup
85
+
86
+ blake2.name = "Blake Smith"
87
+ bob2.name = "Bob Hope"
88
+ new_users = [blake2, bob2, bill]
89
+
90
+ @room.server.should_receive(:send_rename).with("blake", "Blake_Smith")
91
+ @room.server.should_receive(:send_rename).with("bob", "Bob_Hope")
92
+ @room.resolve_renames(old_users, new_users)
93
+ end
94
+ end
95
+
76
96
  describe "#fetch_users" do
77
97
  it "makes a call to the campfire api to fetch user information" do
78
98
  stub_request(:get, "https://mydomain.campfirenow.com/users/734581.json").
@@ -201,6 +221,24 @@ describe Flamethrower::Campfire::Room do
201
221
  end
202
222
  end
203
223
 
224
+ describe "#translate_nicknames" do
225
+ it "changes an IRC highlighted name to the campfire name" do
226
+ user = Flamethrower::Campfire::User.new('name' => "bob_hope", 'id' => 489198)
227
+ user2 = Flamethrower::Campfire::User.new('name' => "bill_jones", 'id' => 123456)
228
+ @room.users = [user, user2]
229
+ message_body = "#{user2.to_irc.nickname}: Hello there!"
230
+ @room.send(:translate_nicknames, message_body).should == "#{user2.name}: Hello there!"
231
+ end
232
+
233
+ it "doesn't change the message body if no user's name is present in the body" do
234
+ user = Flamethrower::Campfire::User.new('name' => "bob_hope", 'id' => 489198)
235
+ user2 = Flamethrower::Campfire::User.new('name' => "bill_jones", 'id' => 123456)
236
+ @room.users = [user, user2]
237
+ message_body = "Hello there!"
238
+ @room.send(:translate_nicknames, message_body).should == "Hello there!"
239
+ end
240
+ end
241
+
204
242
  describe "#requeue_failed_messages" do
205
243
  it "queues a message whos retry_at is greater than now" do
206
244
  Time.stub(:now).and_return(Time.parse("9:00AM"))
@@ -4,7 +4,9 @@ describe Flamethrower::Dispatcher do
4
4
  before do
5
5
  @server = Flamethrower::MockServer.new(:log => Logger.new("/dev/null"))
6
6
  @room = Flamethrower::Campfire::Room.new('mydomain', 'mytoken', {'name' => 'a room', 'id' => 347348})
7
+ @room.instance_variable_set("@stream", mock(:twitter_stream, :stop => nil))
7
8
  @channel = Flamethrower::Irc::Channel.new("#flamethrower", @room)
9
+ @user = Flamethrower::Irc::User.new :username => "user", :nickname => "nick", :hostname => "host", :realname => "realname", :servername => "servername"
8
10
  @server.irc_channels << @channel
9
11
  @dispatcher = Flamethrower::Dispatcher.new(@server)
10
12
  end
@@ -45,6 +47,25 @@ describe Flamethrower::Dispatcher do
45
47
  end
46
48
  end
47
49
 
50
+ describe "#away" do
51
+ it "respond with RPL_NOWAWAY when the user specifies an away message" do
52
+ @server.current_user = @user
53
+ message = Flamethrower::Irc::Message.new("AWAY :I'm away")
54
+ @dispatcher.server.should_receive(:send_message).with(":#{@user.hostname} 306 #{@user.nickname} :You have been marked as being away")
55
+ @dispatcher.handle_message(message)
56
+ @server.current_user.away_message.should == "I'm away"
57
+ end
58
+
59
+ it "respond with RPL_UNAWAY when the user doesn't specify an away message" do
60
+ @server.current_user = @user
61
+ @server.current_user.away_message = "Currently away"
62
+ message = Flamethrower::Irc::Message.new("AWAY :")
63
+ @dispatcher.server.should_receive(:send_message).with(":#{@user.hostname} 305 #{@user.nickname} :You are no longer marked as being away")
64
+ @dispatcher.handle_message(message)
65
+ @server.current_user.away_message.should == nil
66
+ end
67
+ end
68
+
48
69
  describe "#topic" do
49
70
  before do
50
71
  @user = Flamethrower::Irc::User.new :username => "user", :nickname => "nick", :hostname => "host", :realname => "realname", :servername => "servername"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flamethrower
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 2
8
+ - 3
9
9
  - 0
10
- version: 0.2.0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Blake Smith
@@ -15,69 +15,13 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-17 00:00:00 -06:00
18
+ date: 2011-01-20 00:00:00 -06:00
19
19
  default_executable: flamethrower
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: eventmachine
23
23
  prerelease: false
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
33
- type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: twitter-stream
37
- prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
47
- type: :runtime
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: json
51
- prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
61
- type: :runtime
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
64
- name: em-http-request
65
- prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
75
- type: :runtime
76
- version_requirements: *id004
77
- - !ruby/object:Gem::Dependency
78
- name: eventmachine
79
- prerelease: false
80
- requirement: &id005 !ruby/object:Gem::Requirement
81
25
  none: false
82
26
  requirements:
83
27
  - - ">="
@@ -89,11 +33,11 @@ dependencies:
89
33
  - 10
90
34
  version: 0.12.10
91
35
  type: :runtime
92
- version_requirements: *id005
36
+ version_requirements: *id001
93
37
  - !ruby/object:Gem::Dependency
94
38
  name: json
95
39
  prerelease: false
96
- requirement: &id006 !ruby/object:Gem::Requirement
40
+ requirement: &id002 !ruby/object:Gem::Requirement
97
41
  none: false
98
42
  requirements:
99
43
  - - ">="
@@ -103,11 +47,11 @@ dependencies:
103
47
  - 0
104
48
  version: "0"
105
49
  type: :runtime
106
- version_requirements: *id006
50
+ version_requirements: *id002
107
51
  - !ruby/object:Gem::Dependency
108
52
  name: em-http-request
109
53
  prerelease: false
110
- requirement: &id007 !ruby/object:Gem::Requirement
54
+ requirement: &id003 !ruby/object:Gem::Requirement
111
55
  none: false
112
56
  requirements:
113
57
  - - ">="
@@ -117,11 +61,11 @@ dependencies:
117
61
  - 0
118
62
  version: "0"
119
63
  type: :runtime
120
- version_requirements: *id007
64
+ version_requirements: *id003
121
65
  - !ruby/object:Gem::Dependency
122
66
  name: twitter-stream
123
67
  prerelease: false
124
- requirement: &id008 !ruby/object:Gem::Requirement
68
+ requirement: &id004 !ruby/object:Gem::Requirement
125
69
  none: false
126
70
  requirements:
127
71
  - - ">="
@@ -131,7 +75,7 @@ dependencies:
131
75
  - 0
132
76
  version: "0"
133
77
  type: :runtime
134
- version_requirements: *id008
78
+ version_requirements: *id004
135
79
  description: Flamethrower gives you the power to use your awesome irc client to talk in your campfire rooms.
136
80
  email: blakesmith0@gmail.com
137
81
  executables:
@@ -141,6 +85,7 @@ extensions: []
141
85
  extra_rdoc_files:
142
86
  - README.rdoc
143
87
  files:
88
+ - .gitignore
144
89
  - .rspec
145
90
  - Gemfile
146
91
  - Gemfile.lock
@@ -196,8 +141,8 @@ homepage: http://github.com/blakesmith/flamethrower
196
141
  licenses: []
197
142
 
198
143
  post_install_message:
199
- rdoc_options: []
200
-
144
+ rdoc_options:
145
+ - --charset=UTF-8
201
146
  require_paths:
202
147
  - lib
203
148
  required_ruby_version: !ruby/object:Gem::Requirement