fog-core 2.1.0 → 2.4.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.
Files changed (78) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +12 -0
  3. data/.github/workflows/ruby.yml +18 -0
  4. data/.github/workflows/stale.yml +9 -0
  5. data/.rubocop.yml +16 -12
  6. data/.rubocop_todo.yml +724 -0
  7. data/CONTRIBUTING.md +5 -1
  8. data/Gemfile +1 -1
  9. data/README.md +1 -1
  10. data/Rakefile +2 -14
  11. data/changelog.md +224 -141
  12. data/fog-core.gemspec +11 -8
  13. data/lib/fog/account.rb +0 -16
  14. data/lib/fog/billing.rb +0 -11
  15. data/lib/fog/compute/models/server.rb +7 -3
  16. data/lib/fog/compute.rb +2 -24
  17. data/lib/fog/core/association.rb +1 -0
  18. data/lib/fog/core/attributes/default.rb +7 -0
  19. data/lib/fog/core/attributes.rb +42 -5
  20. data/lib/fog/core/cache.rb +58 -55
  21. data/lib/fog/core/collection.rb +9 -3
  22. data/lib/fog/core/connection.rb +4 -6
  23. data/lib/fog/core/current_machine.rb +1 -1
  24. data/lib/fog/core/errors.rb +1 -1
  25. data/lib/fog/core/logger.rb +5 -2
  26. data/lib/fog/core/mock.rb +6 -1
  27. data/lib/fog/core/model.rb +34 -5
  28. data/lib/fog/core/provider.rb +37 -4
  29. data/lib/fog/core/scp.rb +16 -11
  30. data/lib/fog/core/service.rb +4 -4
  31. data/lib/fog/core/services_mixin.rb +62 -10
  32. data/lib/fog/core/ssh.rb +49 -25
  33. data/lib/fog/core/stringify_keys.rb +0 -2
  34. data/lib/fog/core/time.rb +2 -2
  35. data/lib/fog/core/uuid.rb +2 -8
  36. data/lib/fog/core/version.rb +1 -1
  37. data/lib/fog/core/wait_for.rb +2 -1
  38. data/lib/fog/core/wait_for_defaults.rb +2 -0
  39. data/lib/fog/core.rb +57 -58
  40. data/lib/fog/dns.rb +0 -11
  41. data/lib/fog/formatador.rb +7 -6
  42. data/lib/fog/monitoring.rb +0 -11
  43. data/lib/fog/network.rb +0 -12
  44. data/lib/fog/schema/data_validator.rb +1 -0
  45. data/lib/fog/storage.rb +15 -29
  46. data/lib/fog/support.rb +0 -12
  47. data/lib/fog/test_helpers/collection_helper.rb +2 -0
  48. data/lib/fog/test_helpers/formats_helper.rb +2 -2
  49. data/lib/fog/test_helpers/helper.rb +3 -3
  50. data/lib/fog/test_helpers/minitest/assertions.rb +1 -1
  51. data/lib/fog/test_helpers/minitest/expectations.rb +1 -1
  52. data/lib/fog/test_helpers/mock_helper.rb +84 -84
  53. data/lib/fog/test_helpers/succeeds_helper.rb +2 -2
  54. data/lib/fog/test_helpers/types_helper.rb +1 -0
  55. data/lib/fog/vpn.rb +0 -12
  56. data/lib/tasks/test_task.rb +2 -2
  57. data/spec/compute/models/server_spec.rb +7 -7
  58. data/spec/compute_spec.rb +33 -33
  59. data/spec/connection_spec.rb +11 -9
  60. data/spec/core/cache_spec.rb +52 -16
  61. data/spec/core/collection_spec.rb +24 -0
  62. data/spec/core/model_spec.rb +36 -3
  63. data/spec/core/stringify_keys_spec.rb +3 -3
  64. data/spec/core/whitelist_keys_spec.rb +2 -2
  65. data/spec/current_machine_spec.rb +2 -2
  66. data/spec/fog_attribute_spec.rb +183 -163
  67. data/spec/formatador_spec.rb +7 -7
  68. data/spec/identity_spec.rb +32 -32
  69. data/spec/mocking_spec.rb +3 -3
  70. data/spec/service_spec.rb +19 -19
  71. data/spec/spec_helper.rb +3 -8
  72. data/spec/storage_spec.rb +33 -35
  73. data/spec/test_helpers/formats_helper_spec.rb +8 -8
  74. data/spec/test_helpers/schema_validator_spec.rb +8 -8
  75. data/spec/utils_spec.rb +6 -6
  76. data/spec/wait_for_spec.rb +2 -2
  77. metadata +57 -59
  78. data/.travis.yml +0 -39
data/CONTRIBUTING.md CHANGED
@@ -8,7 +8,11 @@ New contributors are always welcome, when it doubt please ask questions. We stri
8
8
  * Offer feedback on open [pull requests](https://github.com/fog/fog-core/pulls).
9
9
  * Review open [issues](https://github.com/fog/fog-core/issues) for things to help on.
10
10
  * [Create an issue](https://github.com/fog/fog-core/issues/new) to start a discussion on additions or features.
11
- * Fork the project, add your changes and tests to cover them in a topic branch.
11
+ * Fork the project
12
+ * Setup
13
+ * bundle install
14
+ * bundle exec rake
15
+ * Add your changes and tests to cover them in a topic branch.
12
16
  * Commit your changes and rebase against `fog/fog-core` to ensure everything is up to date.
13
17
  * [Submit a pull request](https://github.com/fog/fog-core/compare/)
14
18
 
data/Gemfile CHANGED
@@ -1,2 +1,2 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
  gemspec
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Shared classes and tests for fog providers and services.
4
4
 
5
- [![Build Status](https://travis-ci.org/fog/fog-core.svg?branch=master)](https://travis-ci.org/fog/fog-core)
5
+ [![Build Status](https://github.com/fog/fog-core/actions/workflows/ruby.yml/badge.svg)](https://github.com/fog/fog-core/actions/workflows/ruby.yml)
6
6
 
7
7
  ## Ruby version
8
8
 
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
- require 'bundler/setup'
1
+ require "bundler/gem_tasks"
2
2
 
3
- task :default => [:test]
3
+ task default: [:test]
4
4
 
5
5
  require "rake/testtask"
6
6
 
@@ -9,15 +9,3 @@ Rake::TestTask.new do |t|
9
9
  t.libs << "spec"
10
10
  t.pattern = "spec/**/*_spec.rb"
11
11
  end
12
-
13
- task :travis do
14
- mock = 'true' || ENV['FOG_MOCK']
15
- sh("export FOG_MOCK=#{mock} && rake")
16
-
17
- if ENV['COVERAGE']
18
- require 'coveralls/rake/task'
19
-
20
- Coveralls::RakeTask.new
21
- Rake::Task["coveralls:push"].invoke
22
- end
23
- end
data/changelog.md CHANGED
@@ -1,295 +1,378 @@
1
+ 2.4.0 01/03/2024
2
+ ==========================================================
3
+
4
+ - fixes for caching/restoring collection attributes
5
+ - add explicit CRUD methods to models, make returns more consistent
6
+ - add filter_attributes method
7
+ - allow cache loading with aliases
8
+ - update rubocop config and apply styles/fixes
9
+ - fix minitest compatibility
10
+ - remove coveralls
11
+ - fixes for method delegation for ruby 3.x
12
+ - update ruby versions in test matrix
13
+
14
+
15
+ 2.3.0 03/08/2022
16
+ ==========================================================
17
+
18
+ - fix v2.2.4 changelog
19
+ - bump actions/stale
20
+ - bump actions/checkout
21
+ - avoid loading unnecessary service via autoload
22
+ - update ruby.yml
23
+ - continue tests dispite head errors
24
+ - bump actions/checkout
25
+ - bump formatador requirement
26
+ - utilize reusable actions workflows
27
+ - bump reusable actions
28
+ - fix cache test for ruby 3.1+
29
+ - tweak format of reusable workflows
30
+
31
+ 2.2.4 04/28/2020
32
+ ==========================================================
33
+
34
+ - Add FOG_DEBUG in addition to DEBUG to allow avoiding namespace collisions
35
+ - Add github actions configuration
36
+ - Update succeeds helper to expected syntax for ruby 3+
37
+
38
+ 2.2.3 09/16/2020
39
+ ==========================================================
40
+
41
+ Fix provider lookup to properly symbolize newly underscored names
42
+
43
+ 2.2.2 09/15/2020
44
+ ==========================================================
45
+
46
+ Fix #underscore name to be class method (instead of instance method)
47
+
48
+ 2.2.1 09/15/2020
49
+ ==========================================================
50
+
51
+ - Change to verify_host_key never in ssh/scp if supported
52
+ - Allow either downcased and underscored provider names for broader compatability
53
+
54
+ 2.2.0 12/17/2019
55
+ ==========================================================
56
+
57
+ - Add explanation for service/provider format deprecation.
58
+ - Fix formatting of changelog
59
+ - Better logging around required providers for easier debugging.
60
+ - bump excon version
61
+ - add bundler gem tasks
62
+
63
+ 2.1.2 09/04/2018
64
+ ==========================================================
65
+
66
+ - fix typo in ssh options handling
67
+
68
+ 2.1.1 09/04/2018
69
+ ==========================================================
70
+
71
+ - deprecate attributes not defined by DSL
72
+ - fix path_prefix warnings
73
+ - update to enforce best practices
74
+ - extract parts of ssh to private methods
75
+ - deprecate wrong provider names
76
+
77
+
1
78
  2.1.0 03/10/2018
2
79
  ==========================================================
3
80
 
4
- remove libvirt_uri duplication
5
- fix dnsimple auth variables
6
- add kubevirt provider
7
- fix net-ssh paranoid deprecation
8
- fix nil fetch on object reload
81
+ - remove libvirt_uri duplication
82
+ - fix dnsimple auth variables
83
+ - add kubevirt provider
84
+ - fix net-ssh paranoid deprecation
85
+ - fix nil fetch on object reload
9
86
 
10
87
  2.0.0 01/03/2018
11
88
  ==========================================================
12
89
 
13
- fix association reload
14
- drop ruby <2 support
15
- fix net-ssh usage
16
- add mime-type dependency
90
+ - Breaking Changes
91
+ - Association reload - model#reload now resets the model
92
+ to the current remote state. See discussion in
93
+ https://github.com/fog/fog-aws/pull/433,
94
+ particularly 24ea4675bfd28c93d1344bf666ebafd0f4826b8f
95
+ - drop ruby <2 support
96
+ - Added
97
+ - add mime-type dependency
98
+ - Fixed
99
+ - fix deprecation warning from net-ssh
17
100
 
18
101
  1.45.0 08/01/2017
19
102
  ==========================================================
20
103
 
21
- remove xmlrpc requirement/usage
22
- fix for nested const across ruby versions
23
- remove array#sample usage for legacy ruby compatibility
24
- simplify uniq for cache and fix for legacy ruby
25
- remove debugging puts from cache
26
- tweak tins version for 1.9
27
- loosen 2.1.x travis config to 2.1
28
- add 1.9 compatible term-ansicolor
29
- fix rubocop for 1.9.3
30
- enable metadata for cache
31
- add specs for server#sshable
32
- add exponential backoff for server#sshable?
33
- add server#ready? to base server for clarity
34
- bump excon dependency
104
+ - remove xmlrpc requirement/usage
105
+ - fix for nested const across ruby versions
106
+ - remove array#sample usage for legacy ruby compatibility
107
+ - simplify uniq for cache and fix for legacy ruby
108
+ - remove debugging puts from cache
109
+ - tweak tins version for 1.9
110
+ - loosen 2.1.x travis config to 2.1
111
+ - add 1.9 compatible term-ansicolor
112
+ - fix rubocop for 1.9.3
113
+ - enable metadata for cache
114
+ - add specs for server#sshable
115
+ - add exponential backoff for server#sshable?
116
+ - add server#ready? to base server for clarity
117
+ - bump excon dependency
35
118
 
36
119
  1.44.3 05/25/2017
37
120
  ==========================================================
38
121
 
39
- fix cache when no home directory defined
122
+ - fix cache when no home directory defined
40
123
 
41
124
  1.44.2 05/18/2017
42
125
  ==========================================================
43
126
 
44
- fix homedirectory usage for caching
127
+ - fix homedirectory usage for caching
45
128
 
46
129
  1.44.1 05/01/2017
47
130
  ==========================================================
48
131
 
49
- remove xml-rpc dependency (as it is causing issues)
132
+ - remove xml-rpc dependency (as it is causing issues)
50
133
 
51
134
  1.44.0 04/28/2017
52
135
  ==========================================================
53
136
 
54
- add basic caching support
137
+ - add basic caching support
55
138
 
56
139
  1.43.0 09/28/2016
57
140
  ==========================================================
58
141
 
59
- fix digitalocean compatibility
60
- update README badges
142
+ - fix digitalocean compatibility
143
+ - update README badges
61
144
 
62
145
  1.42.0 07/05/2016
63
146
  ==========================================================
64
147
 
65
- make namespace detection fix 1.8.x compatible
148
+ - make namespace detection fix 1.8.x compatible
66
149
 
67
150
  1.41.0 07/01/2016
68
151
  ==========================================================
69
152
 
70
- bump as 1.40.1 is not showing up in some cases
153
+ - bump as 1.40.1 is not showing up in some cases
71
154
 
72
155
  1.40.1 06/28/2016
73
156
  ==========================================================
74
157
 
75
- fix namespace constant detection
158
+ - fix namespace constant detection
76
159
 
77
160
  1.40.0 05/19/2016
78
161
  ==========================================================
79
162
 
80
- add minitest helpers for schema (parity to shindo)
163
+ - add minitest helpers for schema (parity to shindo)
81
164
 
82
165
  1.39.0 05/11/2016
83
166
  ==========================================================
84
167
 
85
- cleanup warnings
86
- add NFV module
87
- only dup frozen strings
168
+ - cleanup warnings
169
+ - add NFV module
170
+ - only dup frozen strings
88
171
 
89
172
  1.38.0 04/20/2016
90
173
  ==========================================================
91
174
 
92
- more specific service not found error
93
- fix string freeze issue for ruby 2.3
94
- bump excon dep
175
+ - more specific service not found error
176
+ - fix string freeze issue for ruby 2.3
177
+ - bump excon dep
95
178
 
96
179
  1.37.0 03/31/2016
97
180
  ==========================================================
98
181
 
99
- remove hp from providers
100
- re-raise mime-type error, rather than exiting
101
- fix tests
102
- add introspection module
182
+ - remove hp from providers
183
+ - re-raise mime-type error, rather than exiting
184
+ - fix tests
185
+ - add introspection module
103
186
 
104
187
  1.36.0 02/23/2016
105
188
  ==========================================================
106
189
 
107
- default digitalocean to v2
108
- fix eager/auto-loading
109
- add cloud-at-cost
190
+ - default digitalocean to v2
191
+ - fix eager/auto-loading
192
+ - add cloud-at-cost
110
193
 
111
194
  1.35.0 11/24/2015
112
195
  ==========================================================
113
196
 
114
- make mime/types require optional
115
- fix warnings about net-ssh vs net-cp
197
+ - make mime/types require optional
198
+ - fix warnings about net-ssh vs net-cp
116
199
 
117
200
  1.34.0 11/16/2015
118
201
  ==========================================================
119
202
 
120
- make net/ssh and net/scp requires optional
203
+ - make net/ssh and net/scp requires optional
121
204
 
122
205
  1.33.0 11/15/2015
123
206
  ==========================================================
124
207
 
125
- relax net/ssh and net/scp requirement
208
+ - relax net/ssh and net/scp requirement
126
209
 
127
210
  1.32.1 08/12/2015
128
211
  ==========================================================
129
212
 
130
- expose identities in models
213
+ - expose identities in models
131
214
 
132
215
  1.32.0 07/02/2015
133
216
  ==========================================================
134
217
 
135
- fix/refactor service initializers
218
+ - fix/refactor service initializers
136
219
 
137
220
  1.31.1 06/17/2015
138
221
  ==========================================================
139
222
 
140
- fixes around unknown providers/services
223
+ - fixes around unknown providers/services
141
224
 
142
225
  1.31.0 06/17/2015
143
226
  ==========================================================
144
227
 
145
- use relative paths
146
- add digital ocean examples
147
- reinstate baremetal
148
- add softlayer examples
149
- add digital ocean v2 support
150
- setup fog model equality to check identities (if available)
151
- use Fog.interval in wait_for
152
- reduce memory footprint
153
- fix account handling
228
+ - use relative paths
229
+ - add digital ocean examples
230
+ - reinstate baremetal
231
+ - add softlayer examples
232
+ - add digital ocean v2 support
233
+ - setup fog model equality to check identities (if available)
234
+ - use Fog.interval in wait_for
235
+ - reduce memory footprint
236
+ - fix account handling
154
237
 
155
238
  1.30.0 04/02/2015
156
239
  ==========================================================
157
240
 
158
- bump excon dep
159
- use float times, instead of integers for Fog::Time
160
- don't raise if final wait_for yield true
161
- fix bug around formatador and #map on models
162
- fix around `to_time` to avoid conflicts with Rails monkey patches
163
- update specs
164
- update style
165
- fix `WhitelistKeys` for 1.8.7
166
- remove unreachable code
167
- convert hash helpers to minispec
168
- fix require order for coverage
169
- fix ruby 2.2 warning
170
- bump excon dependency
171
- fix readme link
241
+ - bump excon dep
242
+ - use float times, instead of integers for Fog::Time
243
+ - don't raise if final wait_for yield true
244
+ - fix bug around formatador and #map on models
245
+ - fix around `to_time` to avoid conflicts with Rails monkey patches
246
+ - update specs
247
+ - update style
248
+ - fix `WhitelistKeys` for 1.8.7
249
+ - remove unreachable code
250
+ - convert hash helpers to minispec
251
+ - fix require order for coverage
252
+ - fix ruby 2.2 warning
253
+ - bump excon dependency
254
+ - fix readme link
172
255
 
173
256
  1.29.0 02/19/2015
174
257
  ==========================================================
175
258
 
176
- minor refactoring
177
- add ability to add additional user agent info to requests
259
+ - minor refactoring
260
+ - add ability to add additional user agent info to requests
178
261
 
179
262
  1.28.0 01/30/2015
180
263
  ==========================================================
181
264
 
182
- add Fog::Baremetal
265
+ - add Fog::Baremetal
183
266
 
184
267
  1.27.4 01/26/2015
185
268
  ==========================================================
186
269
 
187
- model fix for new formatador usage
188
- fixes around formatador delegation
270
+ - model fix for new formatador usage
271
+ - fixes around formatador delegation
189
272
 
190
273
  1.27.3 12/01/2014
191
274
  ==========================================================
192
275
 
193
- rubocop fixes for fog collection
194
- simpler ruby version checking/skipping
195
- fix requires_one
276
+ - rubocop fixes for fog collection
277
+ - simpler ruby version checking/skipping
278
+ - fix requires_one
196
279
 
197
280
  1.27.2 18/12/2014
198
281
  ==========================================================
199
282
 
200
- fix several requires in service abstraction code
283
+ - fix several requires in service abstraction code
201
284
 
202
285
  1.27.1 12/12/2014
203
286
  ==========================================================
204
287
 
205
- fix typo in model load paths fix
288
+ - fix typo in model load paths fix
206
289
 
207
290
  1.27.0 12/12/2014
208
291
  ==========================================================
209
292
 
210
- return fog/bin stuff to fog/fog
211
- add support for multiple request/model load paths
293
+ - return fog/bin stuff to fog/fog
294
+ - add support for multiple request/model load paths
212
295
 
213
296
 
214
297
  1.26.0 12/02/2014
215
298
  ==========================================================
216
299
 
217
- remove rackspace logic
218
- use new travis builds
219
- fix error handling around credential fetch
220
- move fog/bin stuff to fog-core
221
- fix circular reference in collection.rb
300
+ - remove rackspace logic
301
+ - use new travis builds
302
+ - fix error handling around credential fetch
303
+ - move fog/bin stuff to fog-core
304
+ - fix circular reference in collection.rb
222
305
 
223
306
 
224
307
  1.25.0 11/18/2014
225
308
  ==========================================================
226
309
 
227
- add alias options for associations
228
- improve spec message
229
- add feature to overwrite keys on hash of attributes generation
230
- remove method_missing from model
231
- add rubocop
232
- fix rubocop warnings
233
- return collections on association getters
234
- fix require bug in service
235
- put fog and fog-core versions in user agent
236
- don't mutate/destroy encoding in get_body_size
237
- fix error output in from const_get usage
238
- separate to have distinct version from fog
310
+ - add alias options for associations
311
+ - improve spec message
312
+ - add feature to overwrite keys on hash of attributes generation
313
+ - remove method_missing from model
314
+ - add rubocop
315
+ - fix rubocop warnings
316
+ - return collections on association getters
317
+ - fix require bug in service
318
+ - put fog and fog-core versions in user agent
319
+ - don't mutate/destroy encoding in get_body_size
320
+ - fix error output in from const_get usage
321
+ - separate to have distinct version from fog
239
322
 
240
323
 
241
324
  1.24.0 08/26/2014
242
325
  ==========================================================
243
326
 
244
- fixes for defaulting attributes
245
- add method for getting all attributes
246
- add methods for associations
247
- add all_attributes, all_associations and all_associations_and_attributes helper methods
248
- remove no-longer-needed gem update on travis
249
- add all_values
250
- fixes to avoid path conflicts with fog/fog
327
+ - fixes for defaulting attributes
328
+ - add method for getting all attributes
329
+ - add methods for associations
330
+ - add all_attributes, all_associations and all_associations_and_attributes helper methods
331
+ - remove no-longer-needed gem update on travis
332
+ - add all_values
333
+ - fixes to avoid path conflicts with fog/fog
251
334
 
252
335
  1.23.0 07/16/2014
253
336
  ==========================================================
254
337
 
255
- attribute whitelisting
256
- abstract out stringify for possible reuse
257
- more specific naming
258
- reorg
259
- add path_prefix
260
- fix time conversion to work with XMLRPC
261
- add more specific per-type attribute tests
262
- lock down rest-client for 1.8.7
263
- allow namespace flipflop for dns
264
- fix identity lookup
265
- better default attribute value setting
266
- bump excon
338
+ - attribute whitelisting
339
+ - abstract out stringify for possible reuse
340
+ - more specific naming
341
+ - reorg
342
+ - add path_prefix
343
+ - fix time conversion to work with XMLRPC
344
+ - add more specific per-type attribute tests
345
+ - lock down rest-client for 1.8.7
346
+ - allow namespace flipflop for dns
347
+ - fix identity lookup
348
+ - better default attribute value setting
349
+ - bump excon
267
350
 
268
351
  1.22.0 04/17/2014 1c086852e40e4c1ad7ed138834e4a1505ddb1416
269
352
  ==========================================================
270
353
 
271
- attribute whitelisting
272
- abstract out stringify for possible reuse
273
- more specific naming
274
- reorg
275
- add path_prefix
276
- fix time conversion to work with XMLRPC
277
- add more specific per-type attribute tests
278
- lock down rest-client for 1.8.7
279
- allow namespace flipflop for dns
280
- fix identity lookup
281
- better default attribute value setting
282
- bump excon
354
+ - attribute whitelisting
355
+ - abstract out stringify for possible reuse
356
+ - more specific naming
357
+ - reorg
358
+ - add path_prefix
359
+ - fix time conversion to work with XMLRPC
360
+ - add more specific per-type attribute tests
361
+ - lock down rest-client for 1.8.7
362
+ - allow namespace flipflop for dns
363
+ - fix identity lookup
364
+ - better default attribute value setting
365
+ - bump excon
283
366
 
284
367
  1.22.0 04/17/2014 1c086852e40e4c1ad7ed138834e4a1505ddb1416
285
368
  ==========================================================
286
369
 
287
- tests/cleanup/fixes
370
+ - tests/cleanup/fixes
288
371
 
289
372
  1.21.1 03/18/2014 3a803405ba60ded421f4bd14677cd3c76cb7e6ab
290
373
  ==========================================================
291
374
 
292
- remove json/xml modules and code
293
- add travis/coveralls
294
- update from upstream
295
- bump/loosen excon dependency
375
+ - remove json/xml modules and code
376
+ - add travis/coveralls
377
+ - update from upstream
378
+ - bump/loosen excon dependency
data/fog-core.gemspec CHANGED
@@ -1,5 +1,6 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require "fog/core/version"
5
6
 
@@ -15,26 +16,28 @@ Gem::Specification.new do |spec|
15
16
 
16
17
  spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
17
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.required_ruby_version = '>= 2.0.0'
21
+ spec.required_ruby_version = ">= 2.0"
22
22
 
23
23
  spec.add_dependency("builder")
24
+ spec.add_dependency("excon", "~> 0.71")
25
+ spec.add_dependency("formatador", ">= 0.2", "< 2.0")
24
26
  spec.add_dependency("mime-types")
25
- spec.add_dependency("excon", "~> 0.58")
26
- spec.add_dependency("formatador", "~> 0.2")
27
27
 
28
28
  # https://github.com/fog/fog-core/issues/206
29
29
  # spec.add_dependency("xmlrpc") if RUBY_VERSION.to_s >= "2.4"
30
30
 
31
- spec.add_development_dependency("tins") if RUBY_VERSION.to_s > "2.0"
32
- spec.add_development_dependency("coveralls")
33
31
  spec.add_development_dependency("minitest")
34
32
  spec.add_development_dependency("minitest-stub-const")
35
33
  spec.add_development_dependency("pry")
36
34
  spec.add_development_dependency("rake")
37
35
  spec.add_development_dependency("rubocop")
36
+ spec.add_development_dependency("rubocop-minitest")
37
+ spec.add_development_dependency("rubocop-rake")
38
38
  spec.add_development_dependency("thor")
39
+ spec.add_development_dependency("tins")
39
40
  spec.add_development_dependency("yard")
41
+
42
+ spec.metadata["rubygems_mfa_required"] = "true"
40
43
  end
data/lib/fog/account.rb CHANGED
@@ -1,21 +1,5 @@
1
1
  module Fog
2
2
  module Account
3
3
  extend Fog::ServicesMixin
4
-
5
- def self.new(orig_attributes)
6
- attributes = orig_attributes.dup
7
- provider = attributes.delete(:provider).to_s.downcase.to_sym
8
-
9
- if provider == :stormondemand
10
- require "fog/account/storm_on_demand"
11
- Fog::Account::StormOnDemand.new(attributes)
12
- else
13
- super(orig_attributes)
14
- end
15
- end
16
-
17
- def self.providers
18
- Fog.services[:account] || []
19
- end
20
4
  end
21
5
  end
data/lib/fog/billing.rb CHANGED
@@ -1,16 +1,5 @@
1
1
  module Fog
2
2
  module Billing
3
3
  extend Fog::ServicesMixin
4
-
5
- def self.new(orig_attributes)
6
- attributes = orig_attributes.dup
7
- provider = attributes.delete(:provider).to_s.downcase.to_sym
8
- if provider == :stormondemand
9
- require "fog/billing/storm_on_demand"
10
- Fog::Billing::StormOnDemand.new(attributes)
11
- else
12
- super(orig_attributes)
13
- end
14
- end
15
4
  end
16
5
  end