hcloud 0.1.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ruby.yml +32 -0
  3. data/.gitignore +0 -1
  4. data/.rubocop.yml +28 -10
  5. data/.rubocop_todo.yml +18 -121
  6. data/CHANGELOG.md +60 -2
  7. data/Gemfile +3 -0
  8. data/Gemfile.lock +149 -0
  9. data/README.md +34 -1
  10. data/Rakefile +2 -0
  11. data/bin/console +1 -0
  12. data/hcloud.gemspec +14 -9
  13. data/lib/hcloud/abstract_resource.rb +165 -60
  14. data/lib/hcloud/action.rb +8 -10
  15. data/lib/hcloud/action_resource.rb +3 -29
  16. data/lib/hcloud/client.rb +70 -29
  17. data/lib/hcloud/datacenter.rb +7 -7
  18. data/lib/hcloud/datacenter_resource.rb +6 -31
  19. data/lib/hcloud/entry_loader.rb +186 -20
  20. data/lib/hcloud/errors.rb +2 -0
  21. data/lib/hcloud/floating_ip.rb +18 -29
  22. data/lib/hcloud/floating_ip_resource.rb +15 -30
  23. data/lib/hcloud/image.rb +12 -32
  24. data/lib/hcloud/image_resource.rb +7 -38
  25. data/lib/hcloud/iso.rb +4 -1
  26. data/lib/hcloud/iso_resource.rb +7 -28
  27. data/lib/hcloud/location.rb +3 -9
  28. data/lib/hcloud/location_resource.rb +6 -27
  29. data/lib/hcloud/network.rb +33 -0
  30. data/lib/hcloud/network_resource.rb +25 -0
  31. data/lib/hcloud/pagination.rb +2 -9
  32. data/lib/hcloud/server.rb +37 -70
  33. data/lib/hcloud/server_resource.rb +17 -38
  34. data/lib/hcloud/server_type.rb +3 -10
  35. data/lib/hcloud/server_type_resource.rb +6 -28
  36. data/lib/hcloud/ssh_key.rb +6 -17
  37. data/lib/hcloud/ssh_key_resource.rb +13 -32
  38. data/lib/hcloud/typhoeus_ext.rb +110 -0
  39. data/lib/hcloud/version.rb +3 -1
  40. data/lib/hcloud/volume.rb +32 -0
  41. data/lib/hcloud/volume_resource.rb +29 -0
  42. data/lib/hcloud.rb +31 -5
  43. metadata +56 -22
  44. data/.travis.yml +0 -9
  45. data/lib/hcloud/multi_reply.rb +0 -21
metadata CHANGED
@@ -1,17 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Foerster
8
- autorequire:
8
+ - Raphael Pour
9
+ autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2018-02-27 00:00:00.000000000 Z
12
+ date: 2022-02-17 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: activesupport
15
+ name: activemodel
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - ">="
@@ -24,20 +25,34 @@ dependencies:
24
25
  - - ">="
25
26
  - !ruby/object:Gem::Version
26
27
  version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: activesupport
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '='
33
+ - !ruby/object:Gem::Version
34
+ version: 6.1.4.4
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '='
40
+ - !ruby/object:Gem::Version
41
+ version: 6.1.4.4
27
42
  - !ruby/object:Gem::Dependency
28
43
  name: bundler
29
44
  requirement: !ruby/object:Gem::Requirement
30
45
  requirements:
31
- - - "~>"
46
+ - - ">="
32
47
  - !ruby/object:Gem::Version
33
- version: '1.15'
48
+ version: '0'
34
49
  type: :development
35
50
  prerelease: false
36
51
  version_requirements: !ruby/object:Gem::Requirement
37
52
  requirements:
38
- - - "~>"
53
+ - - ">="
39
54
  - !ruby/object:Gem::Version
40
- version: '1.15'
55
+ version: '0'
41
56
  - !ruby/object:Gem::Dependency
42
57
  name: grape
43
58
  requirement: !ruby/object:Gem::Requirement
@@ -56,16 +71,16 @@ dependencies:
56
71
  name: rake
57
72
  requirement: !ruby/object:Gem::Requirement
58
73
  requirements:
59
- - - "~>"
74
+ - - ">="
60
75
  - !ruby/object:Gem::Version
61
- version: '10.0'
76
+ version: '0'
62
77
  type: :development
63
78
  prerelease: false
64
79
  version_requirements: !ruby/object:Gem::Requirement
65
80
  requirements:
66
- - - "~>"
81
+ - - ">="
67
82
  - !ruby/object:Gem::Version
68
- version: '10.0'
83
+ version: '0'
69
84
  - !ruby/object:Gem::Dependency
70
85
  name: rspec
71
86
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +110,7 @@ dependencies:
95
110
  - !ruby/object:Gem::Version
96
111
  version: '0'
97
112
  - !ruby/object:Gem::Dependency
98
- name: activesupport
113
+ name: activemodel
99
114
  requirement: !ruby/object:Gem::Requirement
100
115
  requirements:
101
116
  - - ">="
@@ -108,6 +123,20 @@ dependencies:
108
123
  - - ">="
109
124
  - !ruby/object:Gem::Version
110
125
  version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: activesupport
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - '='
131
+ - !ruby/object:Gem::Version
132
+ version: 6.1.4.4
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - '='
138
+ - !ruby/object:Gem::Version
139
+ version: 6.1.4.4
111
140
  - !ruby/object:Gem::Dependency
112
141
  name: oj
113
142
  requirement: !ruby/object:Gem::Requirement
@@ -136,20 +165,22 @@ dependencies:
136
165
  - - ">="
137
166
  - !ruby/object:Gem::Version
138
167
  version: '0'
139
- description:
168
+ description:
140
169
  email:
141
170
  - github@moo.gl
171
+ - rubygems@evilcookie.de
142
172
  executables: []
143
173
  extensions: []
144
174
  extra_rdoc_files: []
145
175
  files:
176
+ - ".github/workflows/ruby.yml"
146
177
  - ".gitignore"
147
178
  - ".rspec"
148
179
  - ".rubocop.yml"
149
180
  - ".rubocop_todo.yml"
150
- - ".travis.yml"
151
181
  - CHANGELOG.md
152
182
  - Gemfile
183
+ - Gemfile.lock
153
184
  - README.md
154
185
  - Rakefile
155
186
  - bin/console
@@ -172,7 +203,8 @@ files:
172
203
  - lib/hcloud/iso_resource.rb
173
204
  - lib/hcloud/location.rb
174
205
  - lib/hcloud/location_resource.rb
175
- - lib/hcloud/multi_reply.rb
206
+ - lib/hcloud/network.rb
207
+ - lib/hcloud/network_resource.rb
176
208
  - lib/hcloud/pagination.rb
177
209
  - lib/hcloud/server.rb
178
210
  - lib/hcloud/server_resource.rb
@@ -180,11 +212,14 @@ files:
180
212
  - lib/hcloud/server_type_resource.rb
181
213
  - lib/hcloud/ssh_key.rb
182
214
  - lib/hcloud/ssh_key_resource.rb
215
+ - lib/hcloud/typhoeus_ext.rb
183
216
  - lib/hcloud/version.rb
184
- homepage: https://github.com/tonobo/hcloud
217
+ - lib/hcloud/volume.rb
218
+ - lib/hcloud/volume_resource.rb
219
+ homepage: https://github.com/tonobo/hcloud-ruby
185
220
  licenses: []
186
221
  metadata: {}
187
- post_install_message:
222
+ post_install_message:
188
223
  rdoc_options: []
189
224
  require_paths:
190
225
  - lib
@@ -192,16 +227,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
192
227
  requirements:
193
228
  - - ">="
194
229
  - !ruby/object:Gem::Version
195
- version: '0'
230
+ version: 2.7.0
196
231
  required_rubygems_version: !ruby/object:Gem::Requirement
197
232
  requirements:
198
233
  - - ">="
199
234
  - !ruby/object:Gem::Version
200
235
  version: '0'
201
236
  requirements: []
202
- rubyforge_project:
203
- rubygems_version: 2.5.2.2
204
- signing_key:
237
+ rubygems_version: 3.2.22
238
+ signing_key:
205
239
  specification_version: 4
206
240
  summary: HetznerCloud native Ruby client
207
241
  test_files: []
data/.travis.yml DELETED
@@ -1,9 +0,0 @@
1
- language: ruby
2
- script:
3
- - "bundle exec rspec"
4
- - "bundle exec rubocop"
5
- sudo: false
6
- rvm:
7
- - 2.3
8
- - 2.4
9
- - 2.5
@@ -1,21 +0,0 @@
1
- module Hcloud
2
- class MultiReply
3
- include Enumerable
4
- attr_accessor :cb
5
-
6
- def initialize(j:, pagination: nil)
7
- @j = j
8
- @pagination = pagination
9
- end
10
-
11
- def pagination
12
- @pagination || Pagination.new(@j.first.to_h['meta'].to_h['pagination'], nil, nil)
13
- end
14
-
15
- def each
16
- @cb.call(@j).each do |member|
17
- yield(member)
18
- end
19
- end
20
- end
21
- end