dboard 1.0.3 → 1.0.4
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.
- checksums.yaml +7 -0
- data/.rvmrc +1 -1
- data/lib/collector.rb +26 -17
- data/lib/version.rb +1 -1
- data/spec/collector_spec.rb +0 -3
- metadata +91 -115
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 04384209716740e5394ba02c66fba4d50e28c0f6
|
4
|
+
data.tar.gz: 23d2937eaca6b80626763e587ee122a0a9374c43
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d5e1cdb57eba9528812865e60a42d3bcedb75c9ca805b9dc173850ff474a211eff6f06a2a9ae758d525ceb7248bb7b47774d8159e0ff51c7061c9529d1c3bdef
|
7
|
+
data.tar.gz: 956a3f0fa80db28543d66731c4bec8f00e9f44838e2e187a7f5cefa2b0b48fc91e8072247f4ff317989c354d4651a94d0665d20f16155a005a7be36a9b2e032a
|
data/.rvmrc
CHANGED
@@ -1 +1 @@
|
|
1
|
-
rvm
|
1
|
+
rvm ruby-2.1.0@dboard --create
|
data/lib/collector.rb
CHANGED
@@ -26,6 +26,8 @@ module Dboard
|
|
26
26
|
|
27
27
|
def start
|
28
28
|
@sources.each do |source, instance|
|
29
|
+
wait_a_little_bit_to_not_start_all_fetches_at_once
|
30
|
+
|
29
31
|
Thread.new do
|
30
32
|
loop do
|
31
33
|
update_in_thread(source, instance)
|
@@ -35,20 +37,15 @@ module Dboard
|
|
35
37
|
loop { sleep 1 }
|
36
38
|
end
|
37
39
|
|
38
|
-
def
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
time_until_next_update = 0 if time_until_next_update < 0
|
45
|
-
puts "#{source} done in #{elapsed_time} seconds, will update again in #{time_until_next_update} seconds (interval: #{instance.update_interval})."
|
46
|
-
sleep time_until_next_update
|
47
|
-
rescue Exception => ex
|
48
|
-
puts "Something failed outside the update_source method. #{ex.message}"
|
49
|
-
puts ex.backtrace
|
40
|
+
def register_source(key, instance)
|
41
|
+
@sources.merge!({ key => instance })
|
42
|
+
end
|
43
|
+
|
44
|
+
def register_after_update_callback(callback)
|
45
|
+
@after_update_callback = callback
|
50
46
|
end
|
51
47
|
|
48
|
+
# Public because the old tests depend on it
|
52
49
|
def update_source(source, instance)
|
53
50
|
begin
|
54
51
|
data = instance.fetch
|
@@ -61,16 +58,28 @@ module Dboard
|
|
61
58
|
puts ex.backtrace
|
62
59
|
end
|
63
60
|
|
64
|
-
|
65
|
-
@sources.merge!({ key => instance })
|
66
|
-
end
|
61
|
+
private
|
67
62
|
|
68
|
-
def
|
69
|
-
|
63
|
+
def update_in_thread(source, instance)
|
64
|
+
time = Time.now
|
65
|
+
puts "#{source} updating..."
|
66
|
+
update_source(source, instance)
|
67
|
+
elapsed_time = Time.now - time
|
68
|
+
time_until_next_update = instance.update_interval - elapsed_time
|
69
|
+
time_until_next_update = 0 if time_until_next_update < 0
|
70
|
+
puts "#{source} done in #{elapsed_time} seconds, will update again in #{time_until_next_update} seconds (interval: #{instance.update_interval})."
|
71
|
+
sleep time_until_next_update
|
72
|
+
rescue Exception => ex
|
73
|
+
puts "Something failed outside the update_source method. #{ex.message}"
|
74
|
+
puts ex.backtrace
|
70
75
|
end
|
71
76
|
|
72
77
|
def publish_data(source, data)
|
73
78
|
Publisher.publish(source, data)
|
74
79
|
end
|
80
|
+
|
81
|
+
def wait_a_little_bit_to_not_start_all_fetches_at_once
|
82
|
+
sleep 10 * rand
|
83
|
+
end
|
75
84
|
end
|
76
85
|
end
|
data/lib/version.rb
CHANGED
data/spec/collector_spec.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
|
2
2
|
|
3
3
|
describe Dboard::Collector, "register_source" do
|
4
|
-
|
5
4
|
before do
|
6
5
|
Dboard::Collector.instance.sources.clear
|
7
6
|
end
|
@@ -26,7 +25,6 @@ describe Dboard::Collector, "register_source" do
|
|
26
25
|
# since it is a singleton, and this callbacks leaks into the other tests
|
27
26
|
Dboard::Collector.register_after_update_callback(lambda {})
|
28
27
|
end
|
29
|
-
|
30
28
|
end
|
31
29
|
|
32
30
|
describe Dboard::Collector, "update_source" do
|
@@ -47,5 +45,4 @@ describe Dboard::Collector, "update_source" do
|
|
47
45
|
Dboard::Collector.instance.should_receive(:puts).twice
|
48
46
|
Dboard::Collector.instance.update_source(:new_relic, new_relic)
|
49
47
|
end
|
50
|
-
|
51
48
|
end
|
metadata
CHANGED
@@ -1,121 +1,108 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: dboard
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 3
|
10
|
-
version: 1.0.3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.4
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
13
|
-
-
|
6
|
+
authors:
|
7
|
+
- Joakim Kolsjö
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-04-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: httparty
|
23
|
-
|
24
|
-
|
25
|
-
none: false
|
26
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
27
17
|
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
33
20
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: rake
|
37
21
|
prerelease: false
|
38
|
-
|
39
|
-
|
40
|
-
requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
41
24
|
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
47
34
|
type: :runtime
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: json
|
51
35
|
prerelease: false
|
52
|
-
|
53
|
-
|
54
|
-
requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
55
38
|
- - ">="
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: json
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
61
48
|
type: :runtime
|
62
|
-
version_requirements: *id003
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: dalli
|
65
49
|
prerelease: false
|
66
|
-
|
67
|
-
|
68
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: dalli
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
69
59
|
- - ">="
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
segments:
|
73
|
-
- 0
|
74
|
-
version: "0"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
75
62
|
type: :runtime
|
76
|
-
version_requirements: *id004
|
77
|
-
- !ruby/object:Gem::Dependency
|
78
|
-
name: sinatra
|
79
63
|
prerelease: false
|
80
|
-
|
81
|
-
|
82
|
-
requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
83
66
|
- - ">="
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sinatra
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
89
76
|
type: :runtime
|
90
|
-
version_requirements: *id005
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: rspec
|
93
77
|
prerelease: false
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '='
|
88
|
+
- !ruby/object:Gem::Version
|
104
89
|
version: 2.6.0
|
105
90
|
type: :development
|
106
|
-
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 2.6.0
|
107
97
|
description: Dashboard framework
|
108
|
-
email:
|
98
|
+
email:
|
109
99
|
- joakim.kolsjo@gmail.com
|
110
100
|
executables: []
|
111
|
-
|
112
101
|
extensions: []
|
113
|
-
|
114
102
|
extra_rdoc_files: []
|
115
|
-
|
116
|
-
|
117
|
-
- .
|
118
|
-
- .rvmrc
|
103
|
+
files:
|
104
|
+
- ".gitignore"
|
105
|
+
- ".rvmrc"
|
119
106
|
- Gemfile
|
120
107
|
- LICENCE
|
121
108
|
- README.md
|
@@ -132,39 +119,28 @@ files:
|
|
132
119
|
- spec/integration_spec.rb
|
133
120
|
- spec/publisher_spec.rb
|
134
121
|
- spec/spec_helper.rb
|
135
|
-
|
136
|
-
|
137
|
-
licenses:
|
122
|
+
homepage: ''
|
123
|
+
licenses:
|
138
124
|
- MIT
|
125
|
+
metadata: {}
|
139
126
|
post_install_message:
|
140
127
|
rdoc_options: []
|
141
|
-
|
142
|
-
require_paths:
|
128
|
+
require_paths:
|
143
129
|
- lib
|
144
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
145
|
-
|
146
|
-
requirements:
|
130
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
147
132
|
- - ">="
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
version: "0"
|
153
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
|
-
requirements:
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
135
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
156
137
|
- - ">="
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
|
159
|
-
segments:
|
160
|
-
- 0
|
161
|
-
version: "0"
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
162
140
|
requirements: []
|
163
|
-
|
164
141
|
rubyforge_project:
|
165
|
-
rubygems_version:
|
142
|
+
rubygems_version: 2.2.1
|
166
143
|
signing_key:
|
167
|
-
specification_version:
|
144
|
+
specification_version: 4
|
168
145
|
summary: Dashboard framework
|
169
146
|
test_files: []
|
170
|
-
|