kermit 1.0.1 → 1.0.2

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.
@@ -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: