hcloud 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,19 +4,18 @@ module Hcloud
4
4
  attr_accessor :cb
5
5
 
6
6
  def initialize(j:, pagination: nil)
7
- @j = j
8
- @pagination = pagination
7
+ @j = j
8
+ @pagination = pagination
9
9
  end
10
10
 
11
11
  def pagination
12
- @pagination || Pagination.new(@j.first.to_h["meta"].to_h["pagination"], nil, nil)
12
+ @pagination || Pagination.new(@j.first.to_h['meta'].to_h['pagination'], nil, nil)
13
13
  end
14
14
 
15
- def each(&block)
15
+ def each
16
16
  @cb.call(@j).each do |member|
17
- block.call(member)
17
+ yield(member)
18
18
  end
19
19
  end
20
-
21
20
  end
22
21
  end
@@ -6,9 +6,9 @@ module Hcloud
6
6
  previous_page: nil,
7
7
  next_page: nil,
8
8
  last_page: nil,
9
- total_entries: nil,
10
- }
11
-
9
+ total_entries: nil
10
+ }.freeze
11
+
12
12
  include EntryLoader
13
13
  end
14
14
  end
@@ -16,13 +16,13 @@ module Hcloud
16
16
  outgoing_traffic: nil,
17
17
  ingoing_traffic: nil,
18
18
  included_traffic: nil
19
- }
19
+ }.freeze
20
20
 
21
21
  include EntryLoader
22
22
 
23
- def update(name:)
23
+ def update(name:)
24
24
  Server.new(
25
- Oj.load(request(base_path, j: {name: name}, method: :put).run.body)["server"],
25
+ Oj.load(request(base_path, j: { name: name }, method: :put).run.body)['server'],
26
26
  parent,
27
27
  client
28
28
  )
@@ -32,56 +32,56 @@ module Hcloud
32
32
  action(request(base_path, method: :delete))[0]
33
33
  end
34
34
 
35
- def enable_rescue(type: "linux64", ssh_keys: [])
35
+ def enable_rescue(type: 'linux64', ssh_keys: [])
36
36
  query = {}
37
- method(:enable_rescue).parameters.inject(query) do |r,x|
37
+ method(:enable_rescue).parameters.inject(query) do |r, x|
38
38
  (var = eval(x.last.to_s)).nil? ? r : r.merge!(x.last => var)
39
39
  end
40
- a , j = action(request(base_path("actions/enable_rescue"), j: query))
41
- [a, j["root_password"]]
40
+ a, j = action(request(base_path('actions/enable_rescue'), j: query))
41
+ [a, j['root_password']]
42
42
  end
43
-
43
+
44
44
  def reset_password
45
- a , j = action(request(base_path("actions/reset_password"), method: :post))
46
- [a, j["root_password"]]
45
+ a, j = action(request(base_path('actions/reset_password'), method: :post))
46
+ [a, j['root_password']]
47
47
  end
48
-
48
+
49
49
  def create_image(description: nil, type: nil)
50
50
  query = {}
51
- method(:create_image).parameters.inject(query) do |r,x|
51
+ method(:create_image).parameters.inject(query) do |r, x|
52
52
  (var = eval(x.last.to_s)).nil? ? r : r.merge!(x.last => var)
53
53
  end
54
- a , j = action(request(base_path("actions/create_image"), j: query))
55
- [a, Image.new(j["image"], parent, client)]
54
+ a, j = action(request(base_path('actions/create_image'), j: query))
55
+ [a, Image.new(j['image'], parent, client)]
56
56
  end
57
-
57
+
58
58
  def rebuild(image:)
59
- a , j = action(request(base_path("actions/rebuild"), j: {image: image}))
60
- [a, j["root_password"]]
59
+ a, j = action(request(base_path('actions/rebuild'), j: { image: image }))
60
+ [a, j['root_password']]
61
61
  end
62
62
 
63
63
  def change_type(server_type:, upgrade_disk: nil)
64
64
  query = {}
65
- method(:change_type).parameters.inject(query) do |r,x|
65
+ method(:change_type).parameters.inject(query) do |r, x|
66
66
  (var = eval(x.last.to_s)).nil? ? r : r.merge!(x.last => var)
67
67
  end
68
- action(request(base_path("actions/change_type"), j: query))[0]
68
+ action(request(base_path('actions/change_type'), j: query))[0]
69
69
  end
70
-
70
+
71
71
  def enable_backup(backup_window:)
72
- action(request(base_path("actions/enable_backup"),
73
- j: {backup_window: backup_window}))[0]
72
+ action(request(base_path('actions/enable_backup'),
73
+ j: { backup_window: backup_window }))[0]
74
74
  end
75
-
75
+
76
76
  def attach_iso(iso:)
77
- action(request(base_path("actions/attach_iso"),
78
- j: {iso: iso}))[0]
77
+ action(request(base_path('actions/attach_iso'),
78
+ j: { iso: iso }))[0]
79
79
  end
80
-
81
- %w(
82
- poweron poweroff shutdown reboot reset
80
+
81
+ %w[
82
+ poweron poweroff shutdown reboot reset
83
83
  disable_rescue disable_backup detach_iso
84
- ).each do |action|
84
+ ].each do |action|
85
85
  define_method(action) do
86
86
  action(request(base_path("actions/#{action}"), method: :post))[0]
87
87
  end
@@ -96,15 +96,14 @@ module Hcloud
96
96
  def action(request)
97
97
  j = Oj.load(request.run.body)
98
98
  [
99
- Action.new(j["action"],parent,client),
99
+ Action.new(j['action'], parent, client),
100
100
  j
101
101
  ]
102
102
  end
103
103
 
104
- def base_path(ext=nil)
105
- return ["servers/#{id}",ext].compact.join("/") unless id.nil?
106
- raise ResourcePathError, "Unable to build resource path. Id is nil."
104
+ def base_path(ext = nil)
105
+ return ["servers/#{id}", ext].compact.join('/') unless id.nil?
106
+ raise ResourcePathError, 'Unable to build resource path. Id is nil.'
107
107
  end
108
-
109
108
  end
110
109
  end
@@ -9,43 +9,43 @@ module Hcloud
9
9
  ssh_keys: [],
10
10
  user_data: nil)
11
11
  query = {}
12
- method(:create).parameters.inject(query) do |r,x|
12
+ method(:create).parameters.inject(query) do |r, x|
13
13
  (var = eval(x.last.to_s)).nil? ? r : r.merge!(x.last => var)
14
14
  end
15
- j = Oj.load(request("servers", j: query, code: 200).run.body)
15
+ j = Oj.load(request('servers', j: query, code: 200).run.body)
16
16
  [
17
- Action.new(j["action"], self, client),
18
- Server.new(j["server"], self, client),
19
- j["root_password"]
17
+ Action.new(j['action'], self, client),
18
+ Server.new(j['server'], self, client),
19
+ j['root_password']
20
20
  ]
21
21
  end
22
22
 
23
23
  def all
24
- mj("servers") do |j|
25
- j.flat_map{|x| x["servers"].map{ |x| Server.new(x, self, client) } }
24
+ mj('servers') do |j|
25
+ j.flat_map { |x| x['servers'].map { |x| Server.new(x, self, client) } }
26
26
  end
27
27
  end
28
28
 
29
29
  def find(id)
30
30
  Server.new(
31
- Oj.load(request("servers/#{id.to_i}").run.body)["server"], self, client
31
+ Oj.load(request("servers/#{id.to_i}").run.body)['server'], self, client
32
32
  )
33
33
  end
34
34
 
35
35
  def [](arg)
36
36
  case arg
37
37
  when Integer
38
- begin
39
- find(arg)
40
- rescue Error::NotFound
41
- end
38
+ begin
39
+ find(arg)
40
+ rescue Error::NotFound
41
+ end
42
42
  when String
43
43
  find_by(name: arg)
44
44
  end
45
45
  end
46
-
46
+
47
47
  def find_by(name:)
48
- x = Oj.load(request("servers", q: {name: name}).run.body)["servers"]
48
+ x = Oj.load(request('servers', q: { name: name }).run.body)['servers']
49
49
  return nil if x.none?
50
50
  x.each do |s|
51
51
  return Server.new(s, self, client)
@@ -8,10 +8,9 @@ module Hcloud
8
8
  memory: nil,
9
9
  disk: nil,
10
10
  prices: nil,
11
- storage_type: nil,
12
- }
11
+ storage_type: nil
12
+ }.freeze
13
13
 
14
14
  include EntryLoader
15
-
16
15
  end
17
16
  end
@@ -3,37 +3,36 @@ module Hcloud
3
3
  include Enumerable
4
4
 
5
5
  def all
6
- j = Oj.load(request("server_types").run.body)
7
- j["server_types"].map{|x| ServerType.new(x, self, client) }
6
+ j = Oj.load(request('server_types').run.body)
7
+ j['server_types'].map { |x| ServerType.new(x, self, client) }
8
8
  end
9
9
 
10
10
  def find(id)
11
11
  ServerType.new(
12
- Oj.load(request("server_types/#{id}").run.body)["server_type"],
12
+ Oj.load(request("server_types/#{id}").run.body)['server_type'],
13
13
  self,
14
14
  client
15
15
  )
16
16
  end
17
-
17
+
18
18
  def find_by(name:)
19
- x = Oj.load(request("server_types", q: {name: name}).run.body)["server_types"]
19
+ x = Oj.load(request('server_types', q: { name: name }).run.body)['server_types']
20
20
  return nil if x.none?
21
21
  x.each do |s|
22
22
  return ServerType.new(s, self, client)
23
23
  end
24
24
  end
25
-
25
+
26
26
  def [](arg)
27
27
  case arg
28
28
  when Integer
29
- begin
30
- find(arg)
31
- rescue Error::NotFound
32
- end
29
+ begin
30
+ find(arg)
31
+ rescue Error::NotFound
32
+ end
33
33
  when String
34
34
  find_by(name: arg)
35
35
  end
36
36
  end
37
-
38
37
  end
39
38
  end
@@ -5,20 +5,19 @@ module Hcloud
5
5
  name: nil,
6
6
  fingerprint: nil,
7
7
  public_key: nil
8
- }
8
+ }.freeze
9
9
  include EntryLoader
10
10
 
11
11
  def update(name:)
12
- j = Oj.load(request("ssh_keys/#{id.to_i}",
13
- j: {name: name},
12
+ j = Oj.load(request("ssh_keys/#{id.to_i}",
13
+ j: { name: name },
14
14
  method: :put).run.body)
15
- SSHKey.new(j["ssh_key"], self, client)
15
+ SSHKey.new(j['ssh_key'], self, client)
16
16
  end
17
17
 
18
18
  def destroy
19
19
  request("ssh_keys/#{id}", method: :delete).run.body
20
20
  true
21
21
  end
22
-
23
22
  end
24
23
  end
@@ -1,43 +1,42 @@
1
1
  module Hcloud
2
2
  class SSHKeyResource < AbstractResource
3
3
  def all
4
- mj("ssh_keys") do |j|
5
- j.flat_map{|x| x["ssh_keys"].map{ |x| SSHKey.new(x, self, client) } }
4
+ mj('ssh_keys') do |j|
5
+ j.flat_map { |x| x['ssh_keys'].map { |x| SSHKey.new(x, self, client) } }
6
6
  end
7
7
  end
8
8
 
9
9
  def create(name:, public_key:)
10
- j = Oj.load(request("ssh_keys", j: {name: name, public_key: public_key}).run.body)
11
- SSHKey.new(j["ssh_key"], self, client)
10
+ j = Oj.load(request('ssh_keys', j: { name: name, public_key: public_key }).run.body)
11
+ SSHKey.new(j['ssh_key'], self, client)
12
12
  end
13
13
 
14
14
  def find(id)
15
15
  SSHKey.new(
16
- Oj.load(request("ssh_keys/#{id}").run.body)["ssh_key"],
16
+ Oj.load(request("ssh_keys/#{id}").run.body)['ssh_key'],
17
17
  self,
18
18
  client
19
19
  )
20
20
  end
21
21
 
22
22
  def find_by(name:)
23
- x = Oj.load(request("ssh_keys", q: {name: name}).run.body)["ssh_keys"]
23
+ x = Oj.load(request('ssh_keys', q: { name: name }).run.body)['ssh_keys']
24
24
  return nil if x.none?
25
25
  x.each do |s|
26
26
  return SSHKey.new(s, self, client)
27
27
  end
28
28
  end
29
-
29
+
30
30
  def [](arg)
31
31
  case arg
32
32
  when Integer
33
- begin
34
- find(arg)
35
- rescue Error::NotFound
36
- end
33
+ begin
34
+ find(arg)
35
+ rescue Error::NotFound
36
+ end
37
37
  when String
38
38
  find_by(name: arg)
39
39
  end
40
40
  end
41
-
42
41
  end
43
42
  end
@@ -1,3 +1,3 @@
1
1
  module Hcloud
2
- VERSION = "0.1.1"
2
+ VERSION = '0.1.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Foerster
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-26 00:00:00.000000000 Z
11
+ date: 2018-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.15'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.15'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '1.15'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '1.15'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: grape
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -53,19 +53,19 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: activesupport
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '10.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '10.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: typhoeus
98
+ name: activesupport
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: activesupport
126
+ name: typhoeus
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -145,7 +145,10 @@ extra_rdoc_files: []
145
145
  files:
146
146
  - ".gitignore"
147
147
  - ".rspec"
148
+ - ".rubocop.yml"
149
+ - ".rubocop_todo.yml"
148
150
  - ".travis.yml"
151
+ - CHANGELOG.md
149
152
  - Gemfile
150
153
  - README.md
151
154
  - Rakefile