dawn-api 0.10.1 → 0.11.0
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 +4 -4
- data/README.md +3 -4
- data/lib/dawn/api/authenticate.rb +33 -7
- data/lib/dawn/api/base_api.rb +52 -6
- data/lib/dawn/api/health_check.rb +14 -0
- data/lib/dawn/api/hosts.rb +16 -3
- data/lib/dawn/api/models/account.rb +44 -15
- data/lib/dawn/api/models/app/domains.rb +30 -6
- data/lib/dawn/api/models/app/drains.rb +30 -6
- data/lib/dawn/api/models/app/env.rb +19 -5
- data/lib/dawn/api/models/app/gears.rb +31 -7
- data/lib/dawn/api/models/app/releases.rb +28 -8
- data/lib/dawn/api/models/app.rb +93 -16
- data/lib/dawn/api/models/domain.rb +36 -11
- data/lib/dawn/api/models/drain.rb +33 -19
- data/lib/dawn/api/models/gear.rb +45 -25
- data/lib/dawn/api/models/key.rb +33 -15
- data/lib/dawn/api/models/login.rb +5 -4
- data/lib/dawn/api/models/release.rb +32 -14
- data/lib/dawn/api/safe/base_api.rb +3 -3
- data/lib/dawn/api/safe/safe_extension.rb +20 -5
- data/lib/dawn/api/version.rb +5 -5
- data/lib/dawn/api.rb +1 -1
- data/spec/api/account_spec.rb +21 -0
- data/spec/api/app/domains_spec.rb +30 -0
- data/spec/api/app/drains_spec.rb +30 -0
- data/spec/api/app/gears_spec.rb +38 -0
- data/spec/api/app/releases_spec.rb +30 -0
- data/spec/api/app_spec.rb +166 -0
- data/spec/api/domain_spec.rb +54 -0
- data/spec/api/drain_spec.rb +54 -0
- data/spec/api/gear_spec.rb +65 -0
- data/spec/api/key_spec.rb +54 -0
- data/spec/api/release_spec.rb +13 -0
- data/spec/api_spec_helper.rb +18 -0
- data/spec/references/data.yml +16 -0
- data/spec/seed.rb +70 -0
- data/spec/seedlog.log +1454 -0
- data/spec/support/vcr.rb +11 -0
- data/spec/vcr/Dawn_Account/_current/should_retrieve_current_user_account.yml +51 -0
- data/spec/vcr/Dawn_Account/_update/should_update_an_account.yml +99 -0
- data/spec/vcr/Dawn_App/_all/should_only_have_an_array_of_apps.yml +62 -0
- data/spec/vcr/Dawn_App/_all/should_retrieve_all_user_apps.yml +62 -0
- data/spec/vcr/Dawn_App/_create/should_create_a_new_app_given_a_name.yml +51 -0
- data/spec/vcr/Dawn_App/_create/should_raise_an_Excon_Errors_UnprocessableEntity_when_an_invalid_name_is_given.yml +49 -0
- data/spec/vcr/Dawn_App/_destroy/should_destroy_1_app.yml +49 -0
- data/spec/vcr/Dawn_App/_destroy/should_fail_to_destroy_non-existant_app.yml +48 -0
- data/spec/vcr/Dawn_App/_domains/should_have_domains.yml +51 -0
- data/spec/vcr/Dawn_App/_domains/should_retrieve_domains.yml +98 -0
- data/spec/vcr/Dawn_App/_drains/should_have_drains.yml +51 -0
- data/spec/vcr/Dawn_App/_find/should_fail_to_find_a_non_existant_app.yml +48 -0
- data/spec/vcr/Dawn_App/_find/should_retrieve_1_app_by_id.yml +111 -0
- data/spec/vcr/Dawn_App/_find/should_retrieve_1_app_by_name.yml +51 -0
- data/spec/vcr/Dawn_App/_gears/should_have_gears.yml +51 -0
- data/spec/vcr/Dawn_App/_gears/should_restart_gears.yml +98 -0
- data/spec/vcr/Dawn_App/_gears/should_retrieve_gears.yml +98 -0
- data/spec/vcr/Dawn_App/_logs/should_fail_to_retrieve_logs_uri_for_a_non_existant_app.yml +48 -0
- data/spec/vcr/Dawn_App/_logs/should_retrieve_logs_url_for_app.yml +98 -0
- data/spec/vcr/Dawn_App/_releases/should_have_releases.yml +51 -0
- data/spec/vcr/Dawn_App/_releases/should_retrieve_releases.yml +98 -0
- data/spec/vcr/Dawn_App/_restart/should_fail_to_restart_a_non_existant_app.yml +48 -0
- data/spec/vcr/Dawn_App/_scale/should_have_updated_formation.yml +51 -0
- data/spec/vcr/Dawn_App/_scale/should_raise_an_IndexError_if_app_key_is_missing.yml +51 -0
- data/spec/vcr/Dawn_App/_scale/should_scale_app.yml +98 -0
- data/spec/vcr/Dawn_App/_update/should_fail_to_update_non-existant_app.yml +48 -0
- data/spec/vcr/Dawn_App_Domains/_all/should_have_only_domains.yml +98 -0
- data/spec/vcr/Dawn_App_Domains/_all/should_return_all_domains.yml +98 -0
- data/spec/vcr/Dawn_App_Domains/_create/should_create_a_new_domain.yml +99 -0
- data/spec/vcr/Dawn_App_Drains/_all/should_have_only_drains.yml +98 -0
- data/spec/vcr/Dawn_App_Drains/_all/should_return_all_drains.yml +98 -0
- data/spec/vcr/Dawn_App_Drains/_create/should_create_a_new_drain.yml +99 -0
- data/spec/vcr/Dawn_App_Gears/_all/should_return_all_gears.yml +98 -0
- data/spec/vcr/Dawn_App_Releases/_all/should_return_all_releases.yml +98 -0
- data/spec/vcr/Dawn_App_Releases/_create/should_create_a_new_release.yml +423 -0
- data/spec/vcr/Dawn_Key/_all/should_retrieve_all_user_keys.yml +52 -0
- data/spec/vcr/Dawn_Key/_create/should_create_a_new_sshkey.yml +51 -0
- data/spec/vcr/Dawn_Key/_create/should_fail_if_sshkey_is_invalid.yml +49 -0
- data/spec/vcr/Dawn_Key/_destroy/should_404_if_key_does_not_exist.yml +48 -0
- data/spec/vcr/Dawn_Key/_destroy/should_remove_a_key_by_id.yml +98 -0
- data/spec/vcr/Dawn_Key/_find/should_404_if_key_does_not_exist.yml +48 -0
- data/spec/vcr/Dawn_Key/_find/should_find_a_key_by_id.yml +99 -0
- data/spec/vcr/Dawn_Release/_find/should_find_1_release_by_id.yml +48 -0
- metadata +62 -3
- data/lib/dawn/api/safe.rb +0 -2
data/lib/dawn/api/models/app.rb
CHANGED
@@ -6,49 +6,73 @@ require 'dawn/api/models/app/drains'
|
|
6
6
|
require 'dawn/api/models/app/domains'
|
7
7
|
require 'dawn/api/models/app/releases'
|
8
8
|
|
9
|
-
module Dawn
|
10
|
-
class App
|
11
|
-
|
9
|
+
module Dawn #:nodoc:
|
10
|
+
class App #:nodoc:
|
12
11
|
include BaseApi
|
13
12
|
|
14
|
-
|
13
|
+
# @type [Dawn::App::Env]
|
15
14
|
attr_reader :env
|
15
|
+
# @type [String]
|
16
|
+
data_key :id, write: false
|
17
|
+
# @type [Integer]
|
18
|
+
data_key :created_at, write: false
|
19
|
+
# @type [Integer]
|
20
|
+
data_key :updated_at, write: false
|
21
|
+
# @type [String]
|
22
|
+
data_key :name, write: false
|
23
|
+
# @type [Hash<String, Integer>]
|
24
|
+
data_key :formation
|
16
25
|
|
17
|
-
|
18
|
-
|
19
|
-
|
26
|
+
###
|
27
|
+
# @param [Hash] data
|
28
|
+
###
|
29
|
+
def initialize(data)
|
30
|
+
@data = data
|
31
|
+
@data["env"] = @env = Env.new(self, @data.delete("env"))
|
20
32
|
end
|
21
33
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
data_key :name
|
26
|
-
data_key :formation
|
27
|
-
data_key :git
|
28
|
-
|
34
|
+
###
|
35
|
+
# @return [Dawn::App::Gears]
|
36
|
+
###
|
29
37
|
def gears
|
30
38
|
@gears ||= Gears.new self
|
31
39
|
end
|
32
40
|
|
41
|
+
###
|
42
|
+
# @return [Dawn::App::Drains]
|
43
|
+
###
|
33
44
|
def drains
|
34
45
|
@drains ||= Drains.new self
|
35
46
|
end
|
36
47
|
|
48
|
+
###
|
49
|
+
# @return [Dawn::App::Domains]
|
50
|
+
###
|
37
51
|
def domains
|
38
52
|
@domains ||= Domains.new self
|
39
53
|
end
|
40
54
|
|
55
|
+
###
|
56
|
+
# @return [Dawn::App::Releases]
|
57
|
+
###
|
41
58
|
def releases
|
42
59
|
@releases ||= Releases.new self
|
43
60
|
end
|
44
61
|
|
62
|
+
###
|
63
|
+
# @return [self]
|
64
|
+
###
|
45
65
|
def refresh(options={})
|
46
66
|
@data = get(
|
47
67
|
path: "/apps/#{id}",
|
48
68
|
query: options
|
49
69
|
)["app"]
|
70
|
+
self
|
50
71
|
end
|
51
72
|
|
73
|
+
###
|
74
|
+
# @return [self]
|
75
|
+
###
|
52
76
|
def update(options={})
|
53
77
|
options.fetch(:app)
|
54
78
|
|
@@ -56,34 +80,63 @@ module Dawn
|
|
56
80
|
path: "/apps/#{id}",
|
57
81
|
body: options.to_json
|
58
82
|
)["app"]
|
83
|
+
self
|
59
84
|
end
|
60
85
|
|
86
|
+
###
|
87
|
+
# @return [self]
|
88
|
+
###
|
89
|
+
def save
|
90
|
+
update(app: @data)
|
91
|
+
end
|
92
|
+
|
93
|
+
###
|
94
|
+
# @param [Hash] options
|
95
|
+
###
|
61
96
|
def destroy(options={})
|
62
97
|
self.class.destroy(options.merge(id: id))
|
63
98
|
end
|
64
99
|
|
100
|
+
###
|
101
|
+
# @param [Hash] options
|
102
|
+
###
|
65
103
|
def run(options={})
|
66
104
|
self.class.run(options.merge(id: id))
|
67
105
|
end
|
68
106
|
|
107
|
+
###
|
108
|
+
# @param [Hash] options
|
109
|
+
###
|
69
110
|
def logs(options={})
|
70
111
|
self.class.logs(options.merge(id: id))
|
71
112
|
end
|
72
113
|
|
114
|
+
###
|
115
|
+
# @param [Hash] options
|
116
|
+
###
|
73
117
|
def scale(options={})
|
74
|
-
self.class.scale(options.merge(id: id))
|
118
|
+
@data["formation"] = self.class.scale(options.merge(id: id))
|
75
119
|
end
|
76
120
|
|
121
|
+
###
|
122
|
+
# @param [Hash] options
|
123
|
+
###
|
77
124
|
def restart(options={})
|
78
125
|
self.class.restart(options.merge(id: id))
|
79
126
|
end
|
80
127
|
|
128
|
+
###
|
129
|
+
# @param [Hash] options
|
130
|
+
###
|
81
131
|
def self.id_param(options)
|
82
132
|
options.delete(:id) ||
|
83
133
|
options.delete(:name) ||
|
84
134
|
raise
|
85
135
|
end
|
86
136
|
|
137
|
+
###
|
138
|
+
# @param [Hash] options
|
139
|
+
###
|
87
140
|
def self.create(options)
|
88
141
|
options.fetch(:app)
|
89
142
|
|
@@ -93,6 +146,10 @@ module Dawn
|
|
93
146
|
)["app"]
|
94
147
|
end
|
95
148
|
|
149
|
+
###
|
150
|
+
# @param [Hash] options
|
151
|
+
# @return [Array<Dawn::App>]
|
152
|
+
###
|
96
153
|
def self.all(options={})
|
97
154
|
get(
|
98
155
|
path: "/apps",
|
@@ -100,6 +157,9 @@ module Dawn
|
|
100
157
|
).map { |d| new d["app"] }
|
101
158
|
end
|
102
159
|
|
160
|
+
###
|
161
|
+
# @param [Hash] options
|
162
|
+
###
|
103
163
|
def self.find(options)
|
104
164
|
id = id_param(options)
|
105
165
|
|
@@ -109,6 +169,9 @@ module Dawn
|
|
109
169
|
)["app"]
|
110
170
|
end
|
111
171
|
|
172
|
+
###
|
173
|
+
# @param [Hash] options
|
174
|
+
###
|
112
175
|
def self.update(options)
|
113
176
|
id = id_param(options)
|
114
177
|
options.fetch(:app)
|
@@ -119,6 +182,9 @@ module Dawn
|
|
119
182
|
)["app"]
|
120
183
|
end
|
121
184
|
|
185
|
+
###
|
186
|
+
# @param [Hash] options
|
187
|
+
###
|
122
188
|
def self.destroy(options={})
|
123
189
|
id = id_param(options)
|
124
190
|
|
@@ -128,6 +194,9 @@ module Dawn
|
|
128
194
|
)
|
129
195
|
end
|
130
196
|
|
197
|
+
###
|
198
|
+
# @param [Hash] options
|
199
|
+
###
|
131
200
|
def self.restart(options={})
|
132
201
|
id = id_param(options)
|
133
202
|
|
@@ -137,6 +206,9 @@ module Dawn
|
|
137
206
|
)
|
138
207
|
end
|
139
208
|
|
209
|
+
###
|
210
|
+
# @param [Hash] options
|
211
|
+
###
|
140
212
|
def self.logs(options={})
|
141
213
|
id = id_param(options)
|
142
214
|
|
@@ -148,6 +220,9 @@ module Dawn
|
|
148
220
|
"http://#{Dawn.log_host}#{url}"
|
149
221
|
end
|
150
222
|
|
223
|
+
###
|
224
|
+
# @param [Hash] options
|
225
|
+
###
|
151
226
|
def self.scale(options={})
|
152
227
|
id = id_param(options)
|
153
228
|
options.fetch(:app).fetch(:formation)
|
@@ -158,6 +233,9 @@ module Dawn
|
|
158
233
|
)
|
159
234
|
end
|
160
235
|
|
236
|
+
###
|
237
|
+
# @param [Hash] options
|
238
|
+
###
|
161
239
|
def self.run(options={})
|
162
240
|
id = id_param(options)
|
163
241
|
options.fetch(:command)
|
@@ -167,6 +245,5 @@ module Dawn
|
|
167
245
|
body: options.to_json
|
168
246
|
)
|
169
247
|
end
|
170
|
-
|
171
248
|
end
|
172
249
|
end
|
@@ -1,39 +1,59 @@
|
|
1
1
|
require 'dawn/api/base_api'
|
2
2
|
|
3
|
-
module Dawn
|
4
|
-
class Domain
|
5
|
-
|
3
|
+
module Dawn #:nodoc:
|
4
|
+
class Domain #:nodoc:
|
6
5
|
include BaseApi
|
7
6
|
|
8
|
-
|
7
|
+
# @type [Dawn::App]
|
9
8
|
attr_writer :app
|
9
|
+
# @type [String]
|
10
|
+
data_key :id, write: false
|
11
|
+
# @type [Integer]
|
12
|
+
data_key :created_at, write: false
|
13
|
+
# @type [Integer]
|
14
|
+
data_key :updated_at, write: false
|
15
|
+
# @type [String]
|
16
|
+
data_key :url, write: false
|
17
|
+
# @type [String]
|
18
|
+
data_key :app_id, path: "app/id", write: false
|
10
19
|
|
20
|
+
###
|
21
|
+
# @param [Hash] data
|
22
|
+
###
|
11
23
|
def initialize(data)
|
12
24
|
@app = nil
|
13
25
|
@data = data
|
14
26
|
end
|
15
27
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
data_key :url
|
20
|
-
data_key :app_id, "app/id"
|
21
|
-
|
28
|
+
###
|
29
|
+
# @return [Dawn::App]
|
30
|
+
###
|
22
31
|
def app
|
23
32
|
@app ||= App.find(id: app_id)
|
24
33
|
end
|
25
34
|
|
35
|
+
###
|
36
|
+
# @return [self]
|
37
|
+
###
|
26
38
|
def refresh
|
27
39
|
@data = get(
|
28
40
|
path: "/domains/#{id}",
|
29
41
|
query: options
|
30
42
|
)["domain"]
|
43
|
+
self
|
31
44
|
end
|
32
45
|
|
46
|
+
###
|
47
|
+
# @param [Hash] options
|
48
|
+
# @return [Void]
|
49
|
+
###
|
33
50
|
def destroy(options={})
|
34
51
|
self.class.destroy(options.merge(id: id))
|
35
52
|
end
|
36
53
|
|
54
|
+
###
|
55
|
+
# @param [Hash] options
|
56
|
+
###
|
37
57
|
def self.id_param(options)
|
38
58
|
id = options.delete(:id) ||
|
39
59
|
options.delete(:name) ||
|
@@ -42,6 +62,9 @@ module Dawn
|
|
42
62
|
raise
|
43
63
|
end
|
44
64
|
|
65
|
+
###
|
66
|
+
# @param [Hash] options
|
67
|
+
###
|
45
68
|
def self.find(options)
|
46
69
|
id = id_param(options)
|
47
70
|
|
@@ -51,6 +74,9 @@ module Dawn
|
|
51
74
|
)["domain"]
|
52
75
|
end
|
53
76
|
|
77
|
+
###
|
78
|
+
# @param [Hash] options
|
79
|
+
###
|
54
80
|
def self.destroy(options)
|
55
81
|
id = id_param(options)
|
56
82
|
|
@@ -59,6 +85,5 @@ module Dawn
|
|
59
85
|
query: options
|
60
86
|
)
|
61
87
|
end
|
62
|
-
|
63
88
|
end
|
64
89
|
end
|
@@ -1,46 +1,58 @@
|
|
1
1
|
require 'dawn/api/base_api'
|
2
2
|
|
3
|
-
module Dawn
|
4
|
-
class Drain
|
5
|
-
|
3
|
+
module Dawn #:nodoc:
|
4
|
+
class Drain #:nodoc:
|
6
5
|
include BaseApi
|
7
6
|
|
8
|
-
|
7
|
+
# @type [Dawn::App]
|
9
8
|
attr_writer :app
|
9
|
+
# @type [String]
|
10
|
+
data_key :id, write: false
|
11
|
+
# @type [Integer]
|
12
|
+
data_key :created_at, write: false
|
13
|
+
# @type [Integer]
|
14
|
+
data_key :updated_at, write: false
|
15
|
+
# @type [String]
|
16
|
+
data_key :url, write: false
|
17
|
+
# @type [String]
|
18
|
+
data_key :app_id, path: "app/id", write: false
|
10
19
|
|
20
|
+
###
|
21
|
+
# @param [Hash] options
|
22
|
+
###
|
11
23
|
def initialize(data)
|
12
24
|
@app = nil
|
13
25
|
@data = data
|
14
26
|
end
|
15
27
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
data_key :url
|
20
|
-
data_key :app_id, "app/id"
|
21
|
-
|
28
|
+
###
|
29
|
+
# @return [Dawn::App]
|
30
|
+
###
|
22
31
|
def app
|
23
32
|
@app ||= App.find(id: app_id)
|
24
33
|
end
|
25
34
|
|
35
|
+
###
|
36
|
+
# @return [self]
|
37
|
+
###
|
26
38
|
def refresh
|
27
39
|
@data = get(
|
28
40
|
path: "/drains/#{id}",
|
29
41
|
query: options
|
30
42
|
)["drain"]
|
43
|
+
self
|
31
44
|
end
|
32
45
|
|
33
|
-
|
46
|
+
###
|
47
|
+
# @param [Hash] options
|
48
|
+
###
|
49
|
+
def destroy(options={})
|
34
50
|
Drain.destroy(options.merge(id: id))
|
35
51
|
end
|
36
52
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
query: options
|
41
|
-
).map { |hsh| new hsh["drain"] }
|
42
|
-
end
|
43
|
-
|
53
|
+
###
|
54
|
+
# @param [Hash] options
|
55
|
+
###
|
44
56
|
def self.find(options={})
|
45
57
|
id = id_param(options)
|
46
58
|
|
@@ -50,6 +62,9 @@ module Dawn
|
|
50
62
|
)["drain"]
|
51
63
|
end
|
52
64
|
|
65
|
+
###
|
66
|
+
# @param [Hash] options
|
67
|
+
###
|
53
68
|
def self.destroy(options={})
|
54
69
|
id = id_param(options)
|
55
70
|
|
@@ -58,6 +73,5 @@ module Dawn
|
|
58
73
|
query: options
|
59
74
|
)
|
60
75
|
end
|
61
|
-
|
62
76
|
end
|
63
77
|
end
|
data/lib/dawn/api/models/gear.rb
CHANGED
@@ -1,27 +1,39 @@
|
|
1
1
|
require 'dawn/api/base_api'
|
2
2
|
|
3
|
-
module Dawn
|
4
|
-
class Gear
|
5
|
-
|
3
|
+
module Dawn #:nodoc:
|
4
|
+
class Gear #:nodoc:
|
6
5
|
include BaseApi
|
7
6
|
|
8
|
-
|
7
|
+
# @type [Dawn::App]
|
9
8
|
attr_writer :app
|
10
|
-
|
9
|
+
# @type [String]
|
10
|
+
data_key :id, write: false
|
11
|
+
# @type [Integer]
|
12
|
+
data_key :created_at, write: false
|
13
|
+
# @type [Integer]
|
14
|
+
data_key :updated_at, write: false
|
15
|
+
# @type [String]
|
16
|
+
data_key :name, write: false
|
17
|
+
# @type [Integer]
|
18
|
+
data_key :uptime, write: false
|
19
|
+
# @type [String]
|
20
|
+
data_key :proctype, write: false
|
21
|
+
# @type [Integer]
|
22
|
+
data_key :number, write: false
|
23
|
+
# @type [String]
|
24
|
+
data_key :app_id, path: "app/id", write: false
|
25
|
+
|
26
|
+
###
|
27
|
+
# @param [Hash] data
|
28
|
+
###
|
11
29
|
def initialize(data)
|
12
30
|
@app = nil
|
13
31
|
@data = data
|
14
32
|
end
|
15
33
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
data_key :name
|
20
|
-
data_key :uptime
|
21
|
-
data_key :proctype
|
22
|
-
data_key :number
|
23
|
-
data_key :app_id, "app/id"
|
24
|
-
|
34
|
+
###
|
35
|
+
# @return [Dawn::App]
|
36
|
+
###
|
25
37
|
def app
|
26
38
|
@app ||= App.find(id: app_id)
|
27
39
|
end
|
@@ -31,23 +43,26 @@ module Dawn
|
|
31
43
|
path: "/gears/#{id}",
|
32
44
|
query: options
|
33
45
|
)["gear"]
|
46
|
+
self
|
34
47
|
end
|
35
48
|
|
49
|
+
###
|
50
|
+
# @param [Hash] options
|
51
|
+
###
|
36
52
|
def restart(options={})
|
37
53
|
self.class.restart(options.merge(id: id))
|
38
54
|
end
|
39
55
|
|
40
|
-
|
56
|
+
###
|
57
|
+
# @param [Hash] options
|
58
|
+
###
|
59
|
+
def destroy(options={})
|
41
60
|
self.class.destroy(options.merge(id: id))
|
42
61
|
end
|
43
62
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
query: options
|
48
|
-
).map { |d| new d["gear"] }
|
49
|
-
end
|
50
|
-
|
63
|
+
###
|
64
|
+
# @param [Hash] options
|
65
|
+
###
|
51
66
|
def self.find(options)
|
52
67
|
id = id_param(options)
|
53
68
|
|
@@ -57,8 +72,11 @@ module Dawn
|
|
57
72
|
)["gear"]
|
58
73
|
end
|
59
74
|
|
60
|
-
|
61
|
-
|
75
|
+
###
|
76
|
+
# @param [Hash] options
|
77
|
+
###
|
78
|
+
def self.restart(options)
|
79
|
+
id = id_param(options)
|
62
80
|
|
63
81
|
post(
|
64
82
|
path: "/gears/#{id}/restart",
|
@@ -66,6 +84,9 @@ module Dawn
|
|
66
84
|
)
|
67
85
|
end
|
68
86
|
|
87
|
+
###
|
88
|
+
# @param [Hash] options
|
89
|
+
###
|
69
90
|
def self.destroy(options)
|
70
91
|
id = id_param(options)
|
71
92
|
|
@@ -74,6 +95,5 @@ module Dawn
|
|
74
95
|
query: options
|
75
96
|
)
|
76
97
|
end
|
77
|
-
|
78
98
|
end
|
79
99
|
end
|
data/lib/dawn/api/models/key.rb
CHANGED
@@ -1,26 +1,38 @@
|
|
1
1
|
require 'dawn/api/base_api'
|
2
2
|
|
3
|
-
module Dawn
|
4
|
-
class Key
|
5
|
-
|
3
|
+
module Dawn #:nodoc:
|
4
|
+
class Key #:nodoc:
|
6
5
|
include BaseApi
|
7
6
|
|
8
|
-
|
7
|
+
# @type [String]
|
8
|
+
data_key :id, write: false
|
9
|
+
# @type [Integer]
|
10
|
+
data_key :created_at, write: false
|
11
|
+
# @type [Integer]
|
12
|
+
data_key :updated_at, write: false
|
13
|
+
# @type [String]
|
14
|
+
data_key :fingerprint, write: false
|
15
|
+
# @type [String]
|
16
|
+
data_key :key, write: false
|
9
17
|
|
18
|
+
###
|
19
|
+
# @param [Hash] data
|
20
|
+
###
|
10
21
|
def initialize(data)
|
11
22
|
@data = data
|
12
23
|
end
|
13
24
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
data_key :fingerprint
|
18
|
-
data_key :key
|
19
|
-
|
25
|
+
###
|
26
|
+
# @return [Void]
|
27
|
+
###
|
20
28
|
def destroy(options={})
|
21
29
|
self.class.destroy(options.merge(id: id))
|
22
30
|
end
|
23
31
|
|
32
|
+
###
|
33
|
+
# @param [Hash] options
|
34
|
+
# @return [Dawn::Key]
|
35
|
+
###
|
24
36
|
def self.create(options={})
|
25
37
|
options.fetch(:key)
|
26
38
|
|
@@ -30,6 +42,10 @@ module Dawn
|
|
30
42
|
)["key"]
|
31
43
|
end
|
32
44
|
|
45
|
+
###
|
46
|
+
# @param [Hash] options
|
47
|
+
# @return [Array<Dawn::Key>]
|
48
|
+
###
|
33
49
|
def self.all(options={})
|
34
50
|
get(
|
35
51
|
path: '/account/keys',
|
@@ -37,6 +53,10 @@ module Dawn
|
|
37
53
|
).map { |hsh| new hsh["key"] }
|
38
54
|
end
|
39
55
|
|
56
|
+
###
|
57
|
+
# @param [Hash] options
|
58
|
+
# @return [Dawn::Key]
|
59
|
+
###
|
40
60
|
def self.find(options={})
|
41
61
|
id = id_param(options)
|
42
62
|
|
@@ -46,6 +66,9 @@ module Dawn
|
|
46
66
|
)["key"]
|
47
67
|
end
|
48
68
|
|
69
|
+
###
|
70
|
+
# @return [Void]
|
71
|
+
###
|
49
72
|
def self.destroy(options={})
|
50
73
|
id = id_param(options)
|
51
74
|
|
@@ -54,10 +77,5 @@ module Dawn
|
|
54
77
|
query: options
|
55
78
|
)
|
56
79
|
end
|
57
|
-
|
58
|
-
class << self
|
59
|
-
private :new
|
60
|
-
end
|
61
|
-
|
62
80
|
end
|
63
81
|
end
|
@@ -1,16 +1,17 @@
|
|
1
1
|
require 'dawn/api/base_api'
|
2
2
|
|
3
|
-
module Dawn
|
4
|
-
class User
|
5
|
-
|
3
|
+
module Dawn #:nodoc:
|
4
|
+
class User #:nodoc:
|
6
5
|
include BaseApi
|
7
6
|
|
7
|
+
###
|
8
|
+
# @param [Hash] options
|
9
|
+
###
|
8
10
|
def self.login(options={})
|
9
11
|
post(
|
10
12
|
path: '/login',
|
11
13
|
body: options.to_json
|
12
14
|
)
|
13
15
|
end
|
14
|
-
|
15
16
|
end
|
16
17
|
end
|