tjplurker 1.0 → 1.0.1

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.
Files changed (2) hide show
  1. data/lib/tjplurker.rb +19 -4
  2. metadata +6 -5
data/lib/tjplurker.rb CHANGED
@@ -129,7 +129,7 @@ class TJPlurker
129
129
  http = Net::HTTP.new('www.plurk.com', 80)
130
130
  begin
131
131
  resp = http.start{
132
- $tjpLog.info(self.class){"Request: #{method}, #{attr}"}
132
+ $tjpLog.debug(self.class){"Request: #{method}, #{attr}"}
133
133
  http.request(req)
134
134
  }
135
135
  @cookie ||= resp['set-cookie']
@@ -211,19 +211,34 @@ class TJPlurker
211
211
  loop{
212
212
  @tjplurker.comet_channel{|data|
213
213
  @services.each{|service|
214
- service.serve(@tjplurker, data)
214
+ begin
215
+ service.serve(@tjplurker, data)
216
+ rescue => ex
217
+ $tjpLog.error(self.class){"An error occured in #{service.class}, message:\n#{ex.message}"}
218
+ end
215
219
  }
216
220
  }
217
221
  }
218
222
  end
219
223
 
220
224
  def add_service service
221
- @services << service
225
+ if service.is_a? Service
226
+ @services << service
227
+ $tjpLog.info(self.class){"Add service: #{service.name}"}
228
+ elsif service <= Service
229
+ tmp = service.new
230
+ @services << tmp
231
+ $tjpLog.info(self.class){"Add service: #{tmp.name}"}
232
+ else
233
+ $tjpLog.warn(self.class){"Unrecognized service, ignored."}
234
+ end
222
235
  end
223
236
  end
224
237
 
225
238
  class Service
226
- def initialize &proc
239
+ attr_reader :name
240
+ def initialize name=self.class.to_s,&proc
241
+ @name = name
227
242
  if block_given?
228
243
  @serve = proc
229
244
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tjplurker
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-05-23 00:00:00.000000000 +08:00
12
+ date: 2011-05-24 00:00:00.000000000 +08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: json
17
- requirement: &18468612 !ruby/object:Gem::Requirement
17
+ requirement: &18733956 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,8 +22,9 @@ dependencies:
22
22
  version: 1.4.2
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *18468612
26
- description: description...
25
+ version_requirements: *18733956
26
+ description: A safe Plurk API wrapper based on Ruby and mainly designed for easily
27
+ making plurk robot.
27
28
  email: tonytonyjan.cs97@g2.nctu.edu.tw
28
29
  executables: []
29
30
  extensions: []