dashing_api 0.0.2 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -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.split[1]
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
- dashboard = dashArray[dashArray.length-1]
52
- if dashboard.include? ".erb"
53
- dashboards.push dashboard.chomp(".erb")
54
- end
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 => 'Dashboard ' +dashboard+ ' exists' }.to_json
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 => 'Dashboard Renamed from ' + from +' to ' + to }.to_json
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 => 'Dashboard ' +dashboard+ ' deleted' }.to_json
107
- status 202
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 " +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(',')+ ' removed from the dashboard ' +dashboard }.to_json
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(',')+ ' already on the dashboard ' +dashboard }.to_json
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
- end
306
+ end
308
307
  end
@@ -205,8 +205,6 @@ class HelperFunctions
205
205
  end
206
206
 
207
207
  def pingHosts(dashboard, body, directory)
208
- notFound = Array.new
209
-
210
208
  upArr = Array.new
211
209
  downArr = Array.new
212
210
 
@@ -1,3 +1,3 @@
1
1
  module DashingApi
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.4"
3
3
  end
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.2
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-03-16 00:00:00.000000000 Z
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: '0'
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: 1.8.23
157
+ rubygems_version: 2.5.1
96
158
  signing_key:
97
- specification_version: 3
159
+ specification_version: 4
98
160
  summary: API for interaction with dashing
99
161
  test_files: []