kermit 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,11 @@
1
+ ## 1.0.2 (Aug 18, 2012)
2
+
3
+ Bugfixes:
4
+
5
+ - changes the logger level from `Debug` to `Warn`
6
+
7
+ ## 1.0.1 (Aug 18, 2012)
8
+
9
+ Bugfixes:
10
+
11
+ - fixes the url from the github page.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.0.2
@@ -1,24 +1,37 @@
1
1
  redis:
2
- db: #Database name where you want to store the statuses
3
- twitter: #Key under you want to found your tweets
4
- # you must add keys for your own stream implementations
5
- host: #address of your Redis-Server
6
- port: #port of your Redis-Server
2
+ #Database name where you want to store the statuses
3
+ db: kermit
4
+ #Key under you want to found your tweets
5
+ twitter: twitter
6
+ # [you must add keys for your own stream implementations]
7
+ #address of your Redis-Server
8
+ host: 127.0.0.1
9
+ #port of your Redis-Server
10
+ port: 6379
7
11
  password: #Redis password
8
12
  #Websocket address to publish the statuses
9
13
  websocket:
10
- host: #address of your websocket server
11
- port: #port of your websocket server
12
- #for each Stream implementation you must define its specific params.
14
+ #address of your websocket server
15
+ host: 0.0.0.0
16
+ #port of your websocket server
17
+ port: 8000
18
+ #[for each Stream implementation you must define its specific params.]
13
19
  twitter:
14
- streams:#number of streams you want
20
+ #number of streams you want
21
+ streams: 2
15
22
  path: /1/statuses/filter.json
16
- track: #Keywords you want Twitter tracks and filter the Stream (one for each stream)
17
- 1: #specific keyword for each twitter stream
18
- 2: #another keyword to track
19
- login: #Your Twitter username
20
- pass: #Your Twitter password
21
- port: #Port, in case you need to specific one.
22
- #RandomPhraseGenerator Stream
23
- rpg: #true / false if you want to enable this stream
24
- #if you want to add more Social Networks/Streams, it can be a good idea to follow the previous Twitter structure.
23
+ track: # [Keywords you want Twitter tracks and filter the Stream (one for each stream)]
24
+ #specific keyword for each twitter stream
25
+ 1: a
26
+ #another keyword to track
27
+ 2: b
28
+ #Your Twitter username
29
+ login:
30
+ #Your Twitter password
31
+ pass:
32
+ #Port, in case you need to specific one.
33
+ port: 443
34
+ #[RandomPhraseGenerator Stream]
35
+ #true / false if you want to enable this stream
36
+ rpg: false
37
+ #[if you want to add more Social Networks/Streams, it can be a good idea to follow the previous Twitter structure.]
@@ -15,7 +15,6 @@ class RandomAdapter < Adapter
15
15
  def initialize
16
16
 
17
17
  @dao = DAO.new 'rpg'
18
- logger.debug('Starting RandomAdapter...')
19
18
 
20
19
  end
21
20
 
@@ -25,12 +24,13 @@ class RandomAdapter < Adapter
25
24
  # @param stream [Integer] number of the stream
26
25
  def connect_stream (stream=1)
27
26
 
27
+ logger.info('Starting Random adapter')
28
28
  random = RandomPhraseGenerator.new
29
29
  i=0
30
30
  while true
31
31
 
32
32
  persist random.generate
33
- logger.debug('retrieving...')
33
+
34
34
  i = i+1
35
35
  if i%10 == 0
36
36
  sleep 10
@@ -16,7 +16,6 @@ class TwitterAdapter < Adapter
16
16
  # Configures the dao with the apropiates params
17
17
  def initialize
18
18
 
19
- logger.info('Starting TwitterAdapter...')
20
19
  @dao = DAO.new 'twitter'
21
20
 
22
21
  end
@@ -26,10 +25,11 @@ class TwitterAdapter < Adapter
26
25
  # @param stream [Integer] the number of the stream to identify it (use it when you have got more than one)
27
26
  def connect_stream (stream=1)
28
27
 
29
- logger.debug('retrieving...')
30
28
  puts 'retrieving... '
31
29
  track = Settings.twitter.track.send("track#{stream}")
32
30
 
31
+ logger.info("Starting Twitter adapter ##{track}")
32
+
33
33
  EventMachine::run {
34
34
 
35
35
  stream = Twitter::JSONStream.connect(
@@ -19,7 +19,6 @@ class RandomConverter < Converter
19
19
  # @return [USMF] the resultant message
20
20
  def to_usmf status
21
21
 
22
- logger.debug("Start the random parse")
23
22
  usmf = USMF.new
24
23
  user = User.new
25
24
 
@@ -34,7 +33,7 @@ class RandomConverter < Converter
34
33
 
35
34
  usmf.links = []
36
35
  usmf.to_users = []
37
- logger.debug("Finish the random parse")
36
+
38
37
  usmf
39
38
 
40
39
  end
@@ -21,8 +21,6 @@ class TwitterConverter < Converter
21
21
  # @return [USMF] the resultant message
22
22
  def to_usmf status
23
23
 
24
- logger.debug("Starting tweet parse")
25
-
26
24
  usmf = USMF.new
27
25
  user = User.new
28
26
 
@@ -155,8 +153,6 @@ class TwitterConverter < Converter
155
153
 
156
154
  end
157
155
 
158
- logger.debug("Finished tweet parse")
159
-
160
156
  usmf
161
157
 
162
158
  end
@@ -24,21 +24,15 @@ class DAO
24
24
  def initialize (type = 'twitter')
25
25
 
26
26
  @type = type
27
-
28
- logger.debug('Starting DAO...')
29
27
 
30
- logger.info(type + " DAO in " + type.to_s + " type")
31
-
32
- logger.info("config loaded OK")
33
28
  connect_database
34
29
 
35
30
  end
36
31
 
37
32
  # Connects to a redis database
38
33
  def connect_database
39
- @db = Redis.new
40
34
 
41
- logger.debug("New instance for Redis")
35
+ @db = Redis.new
42
36
 
43
37
  @db = Redis.connect(
44
38
  :db => "#{Settings.redis.db}",
@@ -47,39 +41,40 @@ class DAO
47
41
  :password => Settings.redis.password
48
42
  )
49
43
 
50
- logger.info("Redis connect OK")
51
44
  end
52
45
 
53
46
  # Retrieves the next status that were saved in the database
54
47
  #
55
48
  # @return [String] the status from the Adapter
56
49
  def get_status
57
- logger.debug("getting status")
50
+
58
51
  status = @db.rpop @type
59
52
  status
53
+
60
54
  end
61
55
 
62
56
  # Deletes the keys in the database to starts the FW empty
63
57
  # @note if the user develops more Streams, add the new keys like the existing ones
64
58
  def clean
65
- logger.debug("cleaning the db")
59
+
66
60
  @db.del 'twitter'
67
61
  @db.del 'rpg'
62
+
68
63
  end
69
64
 
70
65
  # Persists the status into the database
71
66
  #
72
67
  # @param status [String] the status to persist it
73
68
  def save_status status
69
+
74
70
  @db.rpush @type, status
75
- logger.info("Status saved")
71
+
76
72
  end
77
73
 
78
74
  # Returns the size of the database
79
75
  #
80
76
  # @return [Integer] the size (items) of the database
81
77
  def size
82
- logger.debug("getting size")
83
78
  @db.llen @type
84
79
  end
85
80
 
@@ -87,7 +82,6 @@ class DAO
87
82
  #
88
83
  # @param usmf [USMF] a message to publish
89
84
  def publish usmf
90
- logger.info("Publishing")
91
85
  @db.publish 'ws', usmf
92
86
  end
93
87
 
@@ -12,6 +12,8 @@ class WebSocketClient
12
12
  # Starts the WebSocket client to consume the published info in the WebSocket Server
13
13
  def start
14
14
 
15
+ logger.info('Starting the WebSocket Client...')
16
+
15
17
  EventMachine.run do
16
18
 
17
19
  puts '='*80, "Connecting to websockets server at ws://#{Settings.websocket.host}:#{Settings.websocket.port}", '='*80
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kermit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable: kermit
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
17
- requirement: &84821670 !ruby/object:Gem::Requirement
17
+ requirement: &73473890 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 0.9.2.2
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *84821670
25
+ version_requirements: *73473890
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: em-http-request
28
- requirement: &84820460 !ruby/object:Gem::Requirement
28
+ requirement: &73473080 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - =
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 0.2.7
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *84820460
36
+ version_requirements: *73473080
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: em-websocket
39
- requirement: &84817280 !ruby/object:Gem::Requirement
39
+ requirement: &73470900 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 0.3.8
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *84817280
47
+ version_requirements: *73470900
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: redis
50
- requirement: &84816570 !ruby/object:Gem::Requirement
50
+ requirement: &73436220 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 3.0.1
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *84816570
58
+ version_requirements: *73436220
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: json
61
- requirement: &84814470 !ruby/object:Gem::Requirement
61
+ requirement: &73435450 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 1.7.3
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *84814470
69
+ version_requirements: *73435450
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: twitter-stream
72
- requirement: &84784500 !ruby/object:Gem::Requirement
72
+ requirement: &73434940 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 0.1.16
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *84784500
80
+ version_requirements: *73434940
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: settingslogic
83
- requirement: &84783790 !ruby/object:Gem::Requirement
83
+ requirement: &73434300 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 2.0.8
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *84783790
91
+ version_requirements: *73434300
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: commander
94
- requirement: &84783270 !ruby/object:Gem::Requirement
94
+ requirement: &73431190 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ~>
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: 4.1.2
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *84783270
102
+ version_requirements: *73431190
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rdoc
105
- requirement: &84782500 !ruby/object:Gem::Requirement
105
+ requirement: &73430020 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ~>
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '3.12'
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *84782500
113
+ version_requirements: *73430020
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: jeweler
116
- requirement: &84779090 !ruby/object:Gem::Requirement
116
+ requirement: &73397690 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ~>
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: 1.8.4
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *84779090
124
+ version_requirements: *73397690
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec
127
- requirement: &84778150 !ruby/object:Gem::Requirement
127
+ requirement: &73396310 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ~>
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: 2.11.0
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *84778150
135
+ version_requirements: *73396310
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: yard
138
- requirement: &84744460 !ruby/object:Gem::Requirement
138
+ requirement: &73395390 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ~>
@@ -143,7 +143,7 @@ dependencies:
143
143
  version: 0.8.2.1
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *84744460
146
+ version_requirements: *73395390
147
147
  description: Allows to retrieve info from diferent Data Streams for data mining purpouses
148
148
  email: daniel.machado.fernandez@gmail.com
149
149
  executables:
@@ -153,6 +153,7 @@ extra_rdoc_files:
153
153
  - LICENSE.txt
154
154
  - README.md
155
155
  files:
156
+ - CHANGELOG.md
156
157
  - Gemfile
157
158
  - LICENSE.txt
158
159
  - README.md
@@ -237,7 +238,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
237
238
  version: '0'
238
239
  segments:
239
240
  - 0
240
- hash: 542053711
241
+ hash: 585196637
241
242
  required_rubygems_version: !ruby/object:Gem::Requirement
242
243
  none: false
243
244
  requirements: