flamethrower 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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