twitter2jabber 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  == VERSION
4
4
 
5
- This documentation refers to twitter2jabber version 0.2.5
5
+ This documentation refers to twitter2jabber version 0.2.6
6
6
 
7
7
 
8
8
  == DESCRIPTION
@@ -28,7 +28,7 @@ Rubyforge project:: <http://rubyforge.org/projects/twitter2jabber>
28
28
 
29
29
  == LICENSE AND COPYRIGHT
30
30
 
31
- Copyright (C) 2009 Jens Wille
31
+ Copyright (C) 2009-2010 Jens Wille
32
32
 
33
33
  twitter2jabber is free software: you can redistribute it and/or modify it
34
34
  under the terms of the GNU General Public License as published by the Free
data/Rakefile CHANGED
@@ -16,7 +16,10 @@ begin
16
16
  :homepage => %q{http://twitter2jabber.rubyforge.org/},
17
17
  :files => FileList['lib/**/*.rb', 'bin/*'].to_a,
18
18
  :extra_files => FileList['[A-Z]*', 'sample/**/*'].to_a,
19
- :dependencies => %w[twitter xmpp4r-simple highline shorturl longurl elif]
19
+ :dependencies => %w[
20
+ twitter xmpp4r-simple shorturl longurl
21
+ highline elif ruby-nuggets
22
+ ]
20
23
  }
21
24
  }}
22
25
  rescue LoadError
data/TODO CHANGED
@@ -1,4 +1,3 @@
1
- - some kind of bookmark/remember/read later command
2
1
  - threading? (decouple Twitter and Jabber event loops)
3
2
  - use streaming API? (http://apiwiki.twitter.com/Streaming-API-Documentation)
4
3
  - explicit retweet (http://apiwiki.twitter.com/Twitter-REST-API-Method:-statuses-retweet)
@@ -4,7 +4,7 @@ class Twitter2Jabber
4
4
 
5
5
  MAJOR = 0
6
6
  MINOR = 2
7
- TINY = 5
7
+ TINY = 6
8
8
 
9
9
  class << self
10
10
 
@@ -3,7 +3,7 @@
3
3
  # #
4
4
  # twitter2jabber - Twitter-to-Jabber gateway. #
5
5
  # #
6
- # Copyright (C) 2009 Jens Wille #
6
+ # Copyright (C) 2009-2010 Jens Wille #
7
7
  # #
8
8
  # Authors: #
9
9
  # Jens Wille <ww@blackwinter.de> #
@@ -32,6 +32,7 @@ require 'twitter'
32
32
  require 'xmpp4r-simple'
33
33
  require 'shorturl'
34
34
  require 'longurl'
35
+ require 'nuggets/array/runiq'
35
36
 
36
37
  require 'twitter2jabber/version'
37
38
 
@@ -253,6 +254,10 @@ de[bug] on|off -- Turn debug mode on/off
253
254
  bl[ock] @USER -- Block USER
254
255
  fa[v[orite]] #ID -- Add ID to favorites
255
256
 
257
+ bm|bookmark[s] -- List bookmarks
258
+ bm|bookmark #ID -- Bookmark ID
259
+ bm|bookmark -#ID -- Remove ID from bookmarks
260
+
256
261
  rt|retweet #ID [!] [STATUS] -- Retweet ID
257
262
  re[ply] #ID [!] STATUS -- Reply to ID
258
263
  d[m]|direct[_message] @USER [!] STATUS -- Send direct message to USER
@@ -279,6 +284,19 @@ le[n[gth]] STATUS -- Determine length
279
284
  twitter.block($1) if execute && !debug
280
285
  when /\Afav?(?:orite)?\s+#?(\d+)\z/i
281
286
  twitter.favorite_create($1) if execute && !debug
287
+ when /\A(?:bm|bookmarks?)\z/i
288
+ deliver(from, bookmarks.map { |bm|
289
+ st = twitter.status(bm)
290
+ st = "@#{st.user.screen_name}: #{st.text[0, 10]}..." if st.is_a?(Hashie::Mash)
291
+ "#{bm} - #{st || '???'}"
292
+ }.join("\n")) if execute && !debug
293
+ when /\A(?:bm|bookmark)\s+(\d+)\z/i
294
+ if execute && !debug
295
+ bookmarks << $1
296
+ bookmarks.runiq!
297
+ end
298
+ when /\A(?:bm|bookmark)\s+-(\d+)\z/i
299
+ bookmarks.delete($1) if execute && !debug
282
300
  else
283
301
  command, options = nil, {}
284
302
 
@@ -396,4 +414,8 @@ le[n[gth]] STATUS -- Determine length
396
414
  logm("JABBER #{msg}", verbose)
397
415
  end
398
416
 
417
+ def bookmarks
418
+ @bookmarks ||= []
419
+ end
420
+
399
421
  end
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter2jabber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 6
9
+ version: 0.2.6
5
10
  platform: ruby
6
11
  authors:
7
12
  - Jens Wille
@@ -9,69 +14,93 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-01-10 00:00:00 +01:00
17
+ date: 2010-03-18 00:00:00 +01:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: twitter
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
23
29
  version: "0"
24
- version:
30
+ type: :runtime
31
+ version_requirements: *id001
25
32
  - !ruby/object:Gem::Dependency
26
33
  name: xmpp4r-simple
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - ">="
32
38
  - !ruby/object:Gem::Version
39
+ segments:
40
+ - 0
33
41
  version: "0"
34
- version:
35
- - !ruby/object:Gem::Dependency
36
- name: highline
37
42
  type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
43
+ version_requirements: *id002
44
+ - !ruby/object:Gem::Dependency
45
+ name: shorturl
46
+ prerelease: false
47
+ requirement: &id003 !ruby/object:Gem::Requirement
40
48
  requirements:
41
49
  - - ">="
42
50
  - !ruby/object:Gem::Version
51
+ segments:
52
+ - 0
43
53
  version: "0"
44
- version:
45
- - !ruby/object:Gem::Dependency
46
- name: shorturl
47
54
  type: :runtime
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
55
+ version_requirements: *id003
56
+ - !ruby/object:Gem::Dependency
57
+ name: longurl
58
+ prerelease: false
59
+ requirement: &id004 !ruby/object:Gem::Requirement
50
60
  requirements:
51
61
  - - ">="
52
62
  - !ruby/object:Gem::Version
63
+ segments:
64
+ - 0
53
65
  version: "0"
54
- version:
55
- - !ruby/object:Gem::Dependency
56
- name: longurl
57
66
  type: :runtime
58
- version_requirement:
59
- version_requirements: !ruby/object:Gem::Requirement
67
+ version_requirements: *id004
68
+ - !ruby/object:Gem::Dependency
69
+ name: highline
70
+ prerelease: false
71
+ requirement: &id005 !ruby/object:Gem::Requirement
60
72
  requirements:
61
73
  - - ">="
62
74
  - !ruby/object:Gem::Version
75
+ segments:
76
+ - 0
63
77
  version: "0"
64
- version:
78
+ type: :runtime
79
+ version_requirements: *id005
65
80
  - !ruby/object:Gem::Dependency
66
81
  name: elif
82
+ prerelease: false
83
+ requirement: &id006 !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ segments:
88
+ - 0
89
+ version: "0"
67
90
  type: :runtime
68
- version_requirement:
69
- version_requirements: !ruby/object:Gem::Requirement
91
+ version_requirements: *id006
92
+ - !ruby/object:Gem::Dependency
93
+ name: ruby-nuggets
94
+ prerelease: false
95
+ requirement: &id007 !ruby/object:Gem::Requirement
70
96
  requirements:
71
97
  - - ">="
72
98
  - !ruby/object:Gem::Version
99
+ segments:
100
+ - 0
73
101
  version: "0"
74
- version:
102
+ type: :runtime
103
+ version_requirements: *id007
75
104
  description: Twitter-to-Jabber gateway.
76
105
  email: jens.wille@uni-koeln.de
77
106
  executables:
@@ -86,14 +115,14 @@ files:
86
115
  - lib/twitter2jabber.rb
87
116
  - lib/twitter2jabber/version.rb
88
117
  - bin/twitter2jabber
89
- - COPYING
90
- - Rakefile
91
118
  - README
92
119
  - ChangeLog
120
+ - Rakefile
93
121
  - TODO
94
- - sample/config.yaml
95
- - sample/templates/tweet.html
122
+ - COPYING
96
123
  - sample/templates/tweet.txt
124
+ - sample/templates/tweet.html
125
+ - sample/config.yaml
97
126
  has_rdoc: true
98
127
  homepage: http://twitter2jabber.rubyforge.org/
99
128
  licenses: []
@@ -106,27 +135,29 @@ rdoc_options:
106
135
  - twitter2jabber Application documentation
107
136
  - --main
108
137
  - README
109
- - --all
110
138
  - --line-numbers
111
139
  - --inline-source
140
+ - --all
112
141
  require_paths:
113
142
  - lib
114
143
  required_ruby_version: !ruby/object:Gem::Requirement
115
144
  requirements:
116
145
  - - ">="
117
146
  - !ruby/object:Gem::Version
147
+ segments:
148
+ - 0
118
149
  version: "0"
119
- version:
120
150
  required_rubygems_version: !ruby/object:Gem::Requirement
121
151
  requirements:
122
152
  - - ">="
123
153
  - !ruby/object:Gem::Version
154
+ segments:
155
+ - 0
124
156
  version: "0"
125
- version:
126
157
  requirements: []
127
158
 
128
159
  rubyforge_project: twitter2jabber
129
- rubygems_version: 1.3.5
160
+ rubygems_version: 1.3.6
130
161
  signing_key:
131
162
  specification_version: 3
132
163
  summary: Twitter-to-Jabber gateway.