dashing_api 0.0.2 → 0.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/README.md +10 -2
- data/lib/dashing_api/api.rb +17 -18
- data/lib/dashing_api/helperFunctions.rb +0 -2
- data/lib/dashing_api/version.rb +1 -1
- metadata +85 -23
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 266ad32555334fd28c654bb7b416e2652eba4a6f
|
4
|
+
data.tar.gz: 92fa93ac2e3170ba9a0baacec6d9d8b8a7953e8c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 97456f63c940cdc0526551ff1cb8455c9c5b183bc252c2317384c175f9511a649734c52dec42d91d768fdb0c7d370858ef6a6125f75d1416726b779ad369a762
|
7
|
+
data.tar.gz: 89880e61c14bbfdc9b871966f727e1b5c0165126a8e0e8d1e3e8e80e7968c8f8cf5ddf38f9ad67a54aedda6645d6d49b93d34175aaa070ce7859097399dab3c1
|
data/README.md
CHANGED
@@ -2,14 +2,22 @@
|
|
2
2
|
|
3
3
|
## Test it locally
|
4
4
|
|
5
|
+
Install bundler if you don't already have it (`gem install bundler`), then run `bundle install` to pull
|
6
|
+
in dependencies. Then you can:
|
7
|
+
|
5
8
|
Build a gem:
|
6
9
|
```sh
|
7
|
-
rake build
|
10
|
+
bundle exec rake build
|
8
11
|
```
|
9
12
|
|
10
13
|
Install:
|
11
14
|
```sh
|
12
|
-
rake install
|
15
|
+
bundle exec rake install
|
16
|
+
```
|
17
|
+
|
18
|
+
Run unit tests:
|
19
|
+
```sh
|
20
|
+
bundle exec rake test
|
13
21
|
```
|
14
22
|
|
15
23
|
## Installation
|
data/lib/dashing_api/api.rb
CHANGED
@@ -19,7 +19,7 @@ end
|
|
19
19
|
get '/tiles/:id.json' do
|
20
20
|
content_type :json
|
21
21
|
if data = settings.history[params[:id]]
|
22
|
-
data.
|
22
|
+
data.sub("data: ", "")
|
23
23
|
else
|
24
24
|
@message = "Host " + params[:id] + "does not exist"
|
25
25
|
404
|
@@ -46,14 +46,13 @@ get '/dashboards/' do
|
|
46
46
|
dashboards = Array.new()
|
47
47
|
|
48
48
|
# Get the name of the dashboard only. Strip the path
|
49
|
-
Dir.entries(settings.root+'/dashboards/').each do |dashboard|
|
49
|
+
Dir.entries(settings.root+'/dashboards/').sort.each do |dashboard|
|
50
50
|
dashArray = dashboard.split("/")
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
51
|
+
dashboard = dashArray[dashArray.length-1]
|
52
|
+
if dashboard.include? ".erb"
|
53
|
+
dashboards.push dashboard.chomp(".erb")
|
54
|
+
end
|
55
55
|
end
|
56
|
-
|
57
56
|
{ :dashboards => dashboards }.to_json
|
58
57
|
end
|
59
58
|
|
@@ -61,7 +60,7 @@ end
|
|
61
60
|
get '/dashboards/:dashboard' do
|
62
61
|
dashboard = params[:dashboard]
|
63
62
|
if functions.dashboardExists(dashboard, settings.root)
|
64
|
-
{ :dashboard => dashboard, :message =>
|
63
|
+
{ :dashboard => dashboard, :message => "Dashboard #{dashboard} exists" }.to_json
|
65
64
|
else
|
66
65
|
@message = "Dashboard " + dashboard + " does not exist"
|
67
66
|
404
|
@@ -74,12 +73,12 @@ put '/dashboards/' do
|
|
74
73
|
body = JSON.parse(request.body.read)
|
75
74
|
from = body["from"]
|
76
75
|
to = body["to"]
|
77
|
-
|
76
|
+
|
78
77
|
if functions.checkAuthToken(body, settings.auth_token)
|
79
78
|
if functions.dashboardExists(from, settings.root)
|
80
79
|
if from != settings.default_dashboard
|
81
80
|
File.rename(settings.root+'/dashboards/'+from+'.erb', settings.root+'/dashboards/'+to+'.erb')
|
82
|
-
{ :message =>
|
81
|
+
{ :message => "Dashboard Renamed from #{from} to #{to}" }.to_json
|
83
82
|
else
|
84
83
|
{ :message => 'Cannot rename the default dashboard ' + from }.to_json
|
85
84
|
end
|
@@ -98,13 +97,13 @@ delete '/dashboards/:dashboard' do
|
|
98
97
|
request.body.rewind
|
99
98
|
body = JSON.parse(request.body.read)
|
100
99
|
dashboard = params[:dashboard]
|
101
|
-
|
100
|
+
|
102
101
|
if functions.checkAuthToken(body, settings.auth_token)
|
103
102
|
if functions.dashboardExists(dashboard, settings.root)
|
104
103
|
if dashboard != settings.default_dashboard
|
105
104
|
File.delete(settings.root+'/dashboards/'+dashboard+'.erb')
|
106
|
-
{ :dashboard => dashboard, :message =>
|
107
|
-
|
105
|
+
body({ :dashboard => dashboard, :message => "Dashboard #{dashboard} deleted" }.to_json)
|
106
|
+
202
|
108
107
|
else
|
109
108
|
@message = "Cannot delete the default dashboard"
|
110
109
|
404
|
@@ -125,7 +124,7 @@ get '/jobs/:id' do
|
|
125
124
|
content_type :json
|
126
125
|
hostName = params[:id]
|
127
126
|
if settings.history[hostName]
|
128
|
-
{ :tile => hostName, :message => 'Host' +hostName+ ' has a job script' }.to_json
|
127
|
+
{ :tile => hostName, :message => 'Host' + hostName + ' has a job script' }.to_json
|
129
128
|
else
|
130
129
|
@message = "Host " + hostName + " does not have a job script"
|
131
130
|
404
|
@@ -141,7 +140,7 @@ get '/tiles/:dashboard/:hosts' do
|
|
141
140
|
if output.empty?
|
142
141
|
{ :dashboard => dashboard, :tiles => hosts, :message => 'Tiles exists on the dashboard' }.to_json
|
143
142
|
else
|
144
|
-
@message = "Tiles " +output.join(',')+ "does not exist on the dashboard "
|
143
|
+
@message = "Tiles " + output.join(',') + " does not exist on the dashboard #{dashboard}"
|
145
144
|
404
|
146
145
|
end
|
147
146
|
else
|
@@ -222,7 +221,7 @@ delete '/tiles/:dashboard' do
|
|
222
221
|
output = functions.tileExists(dashboard, tiles, settings.root)
|
223
222
|
if output.empty?
|
224
223
|
functions.deleteTile(dashboard, tiles, settings.root)
|
225
|
-
{ :message => 'Tiles '+tiles.join(',')+
|
224
|
+
body({ :message => 'Tiles '+tiles.join(',')+ " removed from the dashboard #{dashboard}" }.to_json)
|
226
225
|
status 202
|
227
226
|
else
|
228
227
|
@message = "Hosts "+output.join(',')+" are not on the dashboard " + dashboard
|
@@ -254,7 +253,7 @@ put '/tiles/:dashboard' do
|
|
254
253
|
if functions.dashboardExists(dashboard, settings.root)
|
255
254
|
output = functions.tileExists(dashboard, tiles, settings.root)
|
256
255
|
if output.empty?
|
257
|
-
{ :message => 'Tiles '+tiles.join(',')+
|
256
|
+
{ :message => 'Tiles '+tiles.join(',')+ " already on the dashboard #{dashboard}" }.to_json
|
258
257
|
else
|
259
258
|
if functions.addTile(dashboard, body, settings.root)
|
260
259
|
{ :message => 'Tiles '+tiles.join(',')+ ' added to the dashboard '+ dashboard }.to_json
|
@@ -304,5 +303,5 @@ put '/ping/:dashboard' do
|
|
304
303
|
else
|
305
304
|
@message = "Invalid API Key!"
|
306
305
|
403
|
307
|
-
|
306
|
+
end
|
308
307
|
end
|
data/lib/dashing_api/version.rb
CHANGED
metadata
CHANGED
@@ -1,62 +1,125 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dashing_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- FT
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2016-
|
11
|
+
date: 2016-09-14 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: dashing
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.3.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.3.0
|
14
27
|
- !ruby/object:Gem::Dependency
|
15
28
|
name: net-ping
|
16
29
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
30
|
requirements:
|
19
|
-
- - ~>
|
31
|
+
- - "~>"
|
20
32
|
- !ruby/object:Gem::Version
|
21
33
|
version: '1.7'
|
22
34
|
type: :runtime
|
23
35
|
prerelease: false
|
24
36
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
37
|
requirements:
|
27
|
-
- - ~>
|
38
|
+
- - "~>"
|
28
39
|
- !ruby/object:Gem::Version
|
29
40
|
version: '1.7'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: nokogiri
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
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: minitest
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 5.8.1
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 5.8.1
|
30
69
|
- !ruby/object:Gem::Dependency
|
31
70
|
name: bundler
|
32
71
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
72
|
requirements:
|
35
|
-
- - ~>
|
73
|
+
- - "~>"
|
36
74
|
- !ruby/object:Gem::Version
|
37
75
|
version: '1.3'
|
38
76
|
type: :development
|
39
77
|
prerelease: false
|
40
78
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
79
|
requirements:
|
43
|
-
- - ~>
|
80
|
+
- - "~>"
|
44
81
|
- !ruby/object:Gem::Version
|
45
82
|
version: '1.3'
|
46
83
|
- !ruby/object:Gem::Dependency
|
47
84
|
name: rake
|
48
85
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
86
|
requirements:
|
51
|
-
- -
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rack-test
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
52
102
|
- !ruby/object:Gem::Version
|
53
103
|
version: '0'
|
54
104
|
type: :development
|
55
105
|
prerelease: false
|
56
106
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
107
|
requirements:
|
59
|
-
- -
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: simplecov
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
60
123
|
- !ruby/object:Gem::Version
|
61
124
|
version: '0'
|
62
125
|
description: API for interaction with dashing
|
@@ -68,32 +131,31 @@ extra_rdoc_files: []
|
|
68
131
|
files:
|
69
132
|
- README.md
|
70
133
|
- lib/dashing_api.rb
|
71
|
-
- lib/dashing_api/version.rb
|
72
134
|
- lib/dashing_api/api.rb
|
73
135
|
- lib/dashing_api/helperFunctions.rb
|
136
|
+
- lib/dashing_api/version.rb
|
74
137
|
homepage: https://github.com/Financial-Times/dashing_api.git
|
75
138
|
licenses:
|
76
139
|
- MIT
|
140
|
+
metadata: {}
|
77
141
|
post_install_message:
|
78
142
|
rdoc_options: []
|
79
143
|
require_paths:
|
80
144
|
- lib
|
81
145
|
required_ruby_version: !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
146
|
requirements:
|
84
|
-
- -
|
147
|
+
- - ">="
|
85
148
|
- !ruby/object:Gem::Version
|
86
|
-
version:
|
149
|
+
version: 1.9.3
|
87
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
-
none: false
|
89
151
|
requirements:
|
90
|
-
- -
|
152
|
+
- - ">="
|
91
153
|
- !ruby/object:Gem::Version
|
92
154
|
version: '0'
|
93
155
|
requirements: []
|
94
156
|
rubyforge_project:
|
95
|
-
rubygems_version:
|
157
|
+
rubygems_version: 2.5.1
|
96
158
|
signing_key:
|
97
|
-
specification_version:
|
159
|
+
specification_version: 4
|
98
160
|
summary: API for interaction with dashing
|
99
161
|
test_files: []
|