dragoon 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/TODO CHANGED
@@ -1,5 +1,6 @@
1
1
  TODO
2
2
  ----------
3
+ - [ ] provide SSL connection support
3
4
  - [x] config.yml.example
4
5
  - [x] network: irc.freenode.net
5
6
  - [x] channels: #ubuntu, #ruby, #ffmpeg
@@ -9,7 +10,7 @@ TODO
9
10
  - [x] login
10
11
  - [x] join channels
11
12
  - [x] - normal channels
12
- - [ ] - channels that need you to be identified with nickserv
13
+ - [x] - channels that need you to be identified with nickserv
13
14
  - [ ] - more than 50 channels
14
15
  - [x] Event Parsing
15
16
  - [x] during msg events (PRIVMSG)
@@ -124,19 +124,26 @@ module Dragoon
124
124
  end
125
125
 
126
126
  def run
127
- trap("INT") { stop}
128
127
  @socket = connect
129
128
 
130
- while line = @socket.gets
131
- @event = Event.parse(line)
132
- dispatch(@event)
129
+ begin
130
+ while line = @socket.gets
131
+ @event = Event.parse(line)
132
+ dispatch(@event)
133
+ end
134
+ rescue Interrupt
135
+ stop
133
136
  end
137
+
134
138
  end
135
139
 
136
140
  def connect
137
141
  puts "*** Connecting to #{@network} on port #{@port}"
138
142
  puts "*** Press Ctrl + c to stop the program"
139
143
  TCPSocket.new(@network, @port)
144
+ rescue Errno::EADDRNOTAVAIL => e
145
+ puts "#{e.class} Cannot connect to #{@network} at port #{@port}".red
146
+ exit
140
147
  end
141
148
 
142
149
  def stop
@@ -1,9 +1,12 @@
1
1
  module Dragoon
2
2
  module Color
3
3
 
4
+ # Term::ANSIColors is included in String class to simplify text coloring
5
+ # ie. "word".green => "\e[32mword\e[0m"
6
+
4
7
  # borrowed from Term::ANSIColors
5
8
  COLORED_REGEXP = /\e\[(?:(?:[349]|10)[0-7]|[0-9])?m/
6
- @@color_list = [:red, :green, :blue, :magenta, :cyan, :white] # :yellow is reserved for highlighting keywords
9
+ COLOR_LIST = [:red, :green, :blue, :magenta, :cyan, :white]
7
10
 
8
11
  # assign a permanent color to a text
9
12
  def colorize(text)
@@ -13,7 +16,7 @@ module Dragoon
13
16
  end
14
17
 
15
18
  def next_color
16
- @@color_list.push(@@color_list.shift).first
19
+ COLOR_LIST.push(COLOR_LIST.shift).first
17
20
  end
18
21
 
19
22
  def highlight_keywords(text,keywords)
@@ -1,3 +1,3 @@
1
1
  module Dragoon
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dragoon
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 6
10
- version: 0.0.6
9
+ - 7
10
+ version: 0.0.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Reginald Tan
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-02-05 00:00:00 Z
18
+ date: 2012-02-08 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rspec