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 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: []