fnordmetric 1.2.6 → 1.2.7

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
@@ -1,3 +1,3 @@
1
1
  module FnordMetric
2
- VERSION = "1.2.6"
2
+ VERSION = "1.2.7"
3
3
  end
@@ -28,7 +28,7 @@ class FnordMetric::App < Sinatra::Base
28
28
  end
29
29
 
30
30
  def initialize(opts = {})
31
- @opts = FnordMetric.default_options(opts)
31
+ @opts = FnordMetric.options(opts)
32
32
 
33
33
  @namespaces = FnordMetric.namespaces
34
34
  @redis = Redis.connect(:url => @opts[:redis_url])
@@ -22,8 +22,12 @@ class FnordMetric::Reactor
22
22
  private
23
23
 
24
24
  def execute_unsafe(socket, event, messages = [])
25
- return false unless event["namespace"]
26
- return false unless ns = @namespaces[event["namespace"].to_sym]
25
+ return [] unless event["namespace"]
26
+
27
+ unless ns = @namespaces[event["namespace"].to_sym]
28
+ return([{ "error" => "invalid namespace: #{event["namespace"]}" }])
29
+ end
30
+
27
31
  messages << discover(ns) if event["type"] == "discover_request"
28
32
  messages << widget(ns, event) if event["type"] == "widget_request"
29
33
  messages << gauge(ns, event) if event["type"] == "render_request"
@@ -29,6 +29,9 @@ class FnordMetric::WebSocket < Rack::WebSocket::Application
29
29
  send_data m.to_json
30
30
  end
31
31
  end
32
+ rescue Exception => e
33
+ FnordMetric.error("[WebSocket] #{e.to_s}")
34
+ puts e.backtrace.join("\n")
32
35
  end
33
36
 
34
37
  def get_uuid
@@ -1,8 +1,8 @@
1
1
  class FnordMetric::Worker
2
2
 
3
- def initialize
3
+ def initialize(opts = {})
4
4
  @namespaces = FnordMetric.namespaces
5
- @opts = FnordMetric.options
5
+ @opts = FnordMetric.options(opts)
6
6
 
7
7
  FnordMetric.register(self)
8
8
  end
@@ -2,31 +2,37 @@ require ::File.expand_path('../spec_helper.rb', __FILE__)
2
2
 
3
3
  describe FnordMetric::Worker do
4
4
 
5
- before(:each) do
6
- @worker = FnordMetric::Worker.new()
7
- end
8
-
5
+ let(:worker) { FnordMetric::Worker.new() }
6
+
9
7
  it "should generate the correct pubsub-key" do
10
- @worker.pubsub_key.should == "fnordmetric-announce"
8
+ worker.pubsub_key.should == "fnordmetric-announce"
11
9
  end
12
10
 
13
11
  it "should generate the correct queue-key" do
14
- @worker.queue_key.should == "fnordmetric-queue"
12
+ worker.queue_key.should == "fnordmetric-queue"
15
13
  end
16
14
 
17
15
  it "should generate the correct event-key" do
18
- @worker.event_key("myevent").should == "fnordmetric-event-myevent"
16
+ worker.event_key("myevent").should == "fnordmetric-event-myevent"
19
17
  end
20
18
 
21
19
  it "should generate the correct stats-key" do
22
- @worker.stats_key.should == "fnordmetric-stats"
20
+ worker.stats_key.should == "fnordmetric-stats"
21
+ end
22
+
23
+ context "configurable options" do
24
+ let(:worker) { FnordMetric::Worker.new(:redis_prefix => "fnordmetric-special") }
25
+
26
+ it "should include redis prefix" do
27
+ worker.pubsub_key.should == "fnordmetric-special-announce"
28
+ end
23
29
  end
24
30
 
25
- it "should add a namespace"
26
- it "should add a namespace and pass options"
27
- it "should add a namespace and the key"
31
+ it "should add a namespace"
32
+ it "should add a namespace and pass options"
33
+ it "should add a namespace and the key"
28
34
  it "should add a namespace and instance_eval the block"
29
-
35
+
30
36
  it "should find a namespace by key"
31
37
  it "should find the namespace default namespace without key"
32
38
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fnordmetric
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.2.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-15 00:00:00.000000000 Z
12
+ date: 2013-03-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
16
- requirement: &21703020 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 1.2.6
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *21703020
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.2.6
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: redis
27
- requirement: &21702480 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: 2.2.2
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *21702480
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.2.2
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: eventmachine
38
- requirement: &21702100 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,21 +53,31 @@ dependencies:
43
53
  version: '0'
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *21702100
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: websocket-rack
49
- requirement: &21701540 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
- - - =
67
+ - - '='
53
68
  - !ruby/object:Gem::Version
54
69
  version: 0.4.0
55
70
  type: :runtime
56
71
  prerelease: false
57
- version_requirements: *21701540
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - '='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.4.0
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: em-hiredis
60
- requirement: &21718000 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: 0.1.1
66
86
  type: :runtime
67
87
  prerelease: false
68
- version_requirements: *21718000
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: 0.1.1
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: json
71
- requirement: &21717440 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: '0'
77
102
  type: :runtime
78
103
  prerelease: false
79
- version_requirements: *21717440
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: i18n
82
- requirement: &21716580 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ! '>='
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '0'
88
118
  type: :runtime
89
119
  prerelease: false
90
- version_requirements: *21716580
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: haml
93
- requirement: &21716120 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ! '>='
@@ -98,10 +133,15 @@ dependencies:
98
133
  version: '0'
99
134
  type: :runtime
100
135
  prerelease: false
101
- version_requirements: *21716120
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
102
142
  - !ruby/object:Gem::Dependency
103
143
  name: rack
104
- requirement: &21715600 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
105
145
  none: false
106
146
  requirements:
107
147
  - - ! '>='
@@ -109,10 +149,15 @@ dependencies:
109
149
  version: '0'
110
150
  type: :runtime
111
151
  prerelease: false
112
- version_requirements: *21715600
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
113
158
  - !ruby/object:Gem::Dependency
114
159
  name: rack-test
115
- requirement: &21714860 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
116
161
  none: false
117
162
  requirements:
118
163
  - - ! '>='
@@ -120,10 +165,15 @@ dependencies:
120
165
  version: '0'
121
166
  type: :runtime
122
167
  prerelease: false
123
- version_requirements: *21714860
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
124
174
  - !ruby/object:Gem::Dependency
125
175
  name: yajl-ruby
126
- requirement: &21714300 !ruby/object:Gem::Requirement
176
+ requirement: !ruby/object:Gem::Requirement
127
177
  none: false
128
178
  requirements:
129
179
  - - ! '>='
@@ -131,10 +181,15 @@ dependencies:
131
181
  version: '0'
132
182
  type: :runtime
133
183
  prerelease: false
134
- version_requirements: *21714300
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
135
190
  - !ruby/object:Gem::Dependency
136
191
  name: thin
137
- requirement: &21713440 !ruby/object:Gem::Requirement
192
+ requirement: !ruby/object:Gem::Requirement
138
193
  none: false
139
194
  requirements:
140
195
  - - ! '>='
@@ -142,10 +197,15 @@ dependencies:
142
197
  version: 1.3.0
143
198
  type: :runtime
144
199
  prerelease: false
145
- version_requirements: *21713440
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: 1.3.0
146
206
  - !ruby/object:Gem::Dependency
147
207
  name: activesupport
148
- requirement: &21712940 !ruby/object:Gem::Requirement
208
+ requirement: !ruby/object:Gem::Requirement
149
209
  none: false
150
210
  requirements:
151
211
  - - ! '>='
@@ -153,10 +213,15 @@ dependencies:
153
213
  version: '0'
154
214
  type: :runtime
155
215
  prerelease: false
156
- version_requirements: *21712940
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
157
222
  - !ruby/object:Gem::Dependency
158
223
  name: delorean
159
- requirement: &21712360 !ruby/object:Gem::Requirement
224
+ requirement: !ruby/object:Gem::Requirement
160
225
  none: false
161
226
  requirements:
162
227
  - - ! '>='
@@ -164,10 +229,15 @@ dependencies:
164
229
  version: '0'
165
230
  type: :development
166
231
  prerelease: false
167
- version_requirements: *21712360
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
168
238
  - !ruby/object:Gem::Dependency
169
239
  name: rspec
170
- requirement: &21711640 !ruby/object:Gem::Requirement
240
+ requirement: !ruby/object:Gem::Requirement
171
241
  none: false
172
242
  requirements:
173
243
  - - ~>
@@ -175,10 +245,15 @@ dependencies:
175
245
  version: 2.8.0
176
246
  type: :development
177
247
  prerelease: false
178
- version_requirements: *21711640
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ~>
252
+ - !ruby/object:Gem::Version
253
+ version: 2.8.0
179
254
  - !ruby/object:Gem::Dependency
180
255
  name: shoulda
181
- requirement: &21710960 !ruby/object:Gem::Requirement
256
+ requirement: !ruby/object:Gem::Requirement
182
257
  none: false
183
258
  requirements:
184
259
  - - ! '>='
@@ -186,7 +261,12 @@ dependencies:
186
261
  version: '0'
187
262
  type: :development
188
263
  prerelease: false
189
- version_requirements: *21710960
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ! '>='
268
+ - !ruby/object:Gem::Version
269
+ version: '0'
190
270
  description: FnordMetric is a Ruby Event-Tracking gem on steroids
191
271
  email:
192
272
  - paul@paulasmuth.com
@@ -333,7 +413,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
333
413
  version: '0'
334
414
  requirements: []
335
415
  rubyforge_project:
336
- rubygems_version: 1.8.17
416
+ rubygems_version: 1.8.24
337
417
  signing_key:
338
418
  specification_version: 3
339
419
  summary: FnordMetric is a Ruby Event-Tracking gem on steroids