fog-core 1.25.0 → 1.27.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: def08d856fbf1d998e280ccc63e9ccc45fb6bb2b
4
- data.tar.gz: 490a97b82c3fe8378ee7b7496eaacc81945e3a1d
3
+ metadata.gz: c63e18b70536c9da2257bd579c2d7aaf834f1081
4
+ data.tar.gz: c6bcac1c3a20c3b6a325d488e701fd2bf8d891ff
5
5
  SHA512:
6
- metadata.gz: b8828bb2e949755b5a65205f91564adda96289b94c308fcfb90db64d2343d1d7b81afd54753eacdcbf50cb9ea6a5745c8b34bc95360d81090205866d71f0ecbc
7
- data.tar.gz: 3c3664af4f43a084cbe344b57693161ffc9bd4da493743d055313637f562ee60bd0bb63037861da9773cfdfcce62c6e38bf48a53f86bfb176dd980e9f272a441
6
+ metadata.gz: 20a699bee434d0c5c8423a50f2130352b4ef5c81588ddc3c9caeedfecb1c32847ba6d7fc8c2cbfd9aef6a69805eeee9718f3b5bfc81bcd6df1537ccd45675965
7
+ data.tar.gz: a6179a545d2f40071227baba705e327ce24ee767bae4d94dbba501f2903eed00f7e46352c1468c5faa2e204ff9879d9f4fbe9d92abaef42000d661ca6fc779b0
@@ -13,6 +13,8 @@ rvm:
13
13
  - jruby-19mode
14
14
  - jruby-head
15
15
 
16
+ sudo: false
17
+
16
18
  script: bundle exec rake travis
17
19
 
18
20
  matrix:
@@ -52,4 +54,4 @@ notifications:
52
54
  - "[#%{build_number}] %{compare_url}"
53
55
  on_success: always
54
56
  on_failure: always
55
- use_notice: false
57
+ use_notice: false
@@ -1,12 +1,21 @@
1
1
  * Anatol <anatol.pomozov@gmail.com>
2
+ * Bryan Paxton <starbelly@pobox.com>
2
3
  * Chris Johnson <wchrisjohnson@gmail.com>
4
+ * Chris Sinjakli <chris@sinjakli.co.uk>
3
5
  * Dominic Cleal <dcleal@redhat.com>
4
6
  * Evan Light <evan@tripledogdare.net>
7
+ * Jake Bell <jake@theunraveler.com>
8
+ * Josh Kalderimis <josh.kalderimis@gmail.com>
9
+ * Kevin Menard <kevin@nirvdrum.com>
10
+ * Matt Bostock <matt@mattbostock.com>
11
+ * Matt Darby <darby@mittdarko.com>
12
+ * Matt Darby <matt.darby@rackspace.com>
5
13
  * Mike Hagedorn <mike@silverchairsolutions.com>
6
14
  * Naoto TAKAHASHI <tnaoto@gmail.com>
7
15
  * Paul Thornthwaite <paul@brightbox.co.uk>
8
16
  * Paul Thornthwaite <tokengeek@gmail.com>
9
17
  * Paulo Henrique Lopes Ribeiro <plribeiro3000@gmail.com>
10
18
  * Wesley Beary <geemus+github@gmail.com>
19
+ * Wesley Beary <geemus@gmail.com>
11
20
  * geemus <geemus@gmail.com>
12
21
  * mountkin <moutkin@gmail.com>
@@ -1,3 +1,20 @@
1
+ 1.27.0 12/12/2014
2
+ ==========================================================
3
+
4
+ return fog/bin stuff to fog/fog
5
+ add support for multiple request/model load paths
6
+
7
+
8
+ 1.26.0 12/02/2014
9
+ ==========================================================
10
+
11
+ remove rackspace logic
12
+ use new travis builds
13
+ fix error handling around credential fetch
14
+ move fog/bin stuff to fog-core
15
+ fix circular reference in collection.rb
16
+
17
+
1
18
  1.25.0 11/18/2014
2
19
  ==========================================================
3
20
 
@@ -141,10 +141,10 @@ module Fog
141
141
  # Base class for collection classes whose 'all' method returns only a single page of results and passes the
142
142
  # 'Marker' option along as self.filters[:marker]
143
143
  class PagedCollection < Collection
144
- def each(filters = filters)
144
+ def each(collection_filters = filters)
145
145
  if block_given?
146
146
  begin
147
- page = all(filters)
147
+ page = all(collection_filters)
148
148
  # We need to explicitly use the base 'each' method here on the page, otherwise we get infinite recursion
149
149
  base_each = Fog::Collection.instance_method(:each)
150
150
  base_each.bind(page).call { |item| yield item }
@@ -120,7 +120,7 @@ module Fog
120
120
  def fetch_credentials(_options)
121
121
  # attempt to load credentials from config file
122
122
  Fog.credentials.reject { |key, _value| !(recognized | requirements).include?(key) }
123
- rescue LoadError
123
+ rescue ::Fog::Errors::LoadError
124
124
  # if there are no configured credentials, do nothing
125
125
  {}
126
126
  end
@@ -145,10 +145,15 @@ module Fog
145
145
  @model_path = new_path
146
146
  end
147
147
 
148
- def collection(new_collection)
148
+ def collection(new_collection, path = nil)
149
+ collection_files << [path, new_collection]
149
150
  collections << new_collection
150
151
  end
151
152
 
153
+ def collection_files
154
+ @collection_files ||= []
155
+ end
156
+
152
157
  def collections
153
158
  @collections ||= []
154
159
  end
@@ -177,8 +182,13 @@ module Fog
177
182
  @mocked_requests ||= []
178
183
  end
179
184
 
180
- def model(new_model)
181
- models << new_model
185
+ def model(new_model, path = nil)
186
+ models_files << [path, new_model]
187
+ models << [new_model]
188
+ end
189
+
190
+ def model_files
191
+ @model_files ||= []
182
192
  end
183
193
 
184
194
  def models
@@ -189,8 +199,8 @@ module Fog
189
199
  @request_path = new_path
190
200
  end
191
201
 
192
- def request(new_request)
193
- requests << new_request
202
+ def request(new_request, path = nil)
203
+ requests << [path, new_request]
194
204
  end
195
205
 
196
206
  def requests
@@ -261,17 +271,15 @@ module Fog
261
271
 
262
272
  # This will attempt to require all model files declared by the service using fog"s DSL
263
273
  def require_models
264
- models.each do |model|
265
- require File.join(@model_path, model.to_s)
266
- end
274
+ model_files.each { |model| require_item(model, @model_path) }
267
275
  end
268
276
 
269
277
  def require_collections_and_define
270
- collections.each do |collection|
271
- require File.join(@model_path, collection.to_s)
272
- constant = camel_case_collection_name(collection)
278
+ collection_files.each do |collection|
279
+ require_item(collection, @model_path)
280
+ constant = camel_case_collection_name(collection.last)
273
281
  service::Collections.module_eval <<-EOS, __FILE__, __LINE__
274
- def #{collection}(attributes = {})
282
+ def #{collection.last}(attributes = {})
275
283
  #{service}::#{constant}.new({ :service => self }.merge(attributes))
276
284
  end
277
285
  EOS
@@ -290,18 +298,31 @@ module Fog
290
298
  # This will attempt to require all request files declared in the service using fog"s DSL
291
299
  def require_requests_and_mock
292
300
  requests.each do |request|
293
- require File.join(@request_path, request.to_s)
294
- if service::Mock.method_defined?(request)
295
- mocked_requests << request
301
+ require_item(request, @request_path)
302
+ if service::Mock.method_defined?(request.last)
303
+ mocked_requests << request.last
296
304
  else
297
305
  service::Mock.module_eval <<-EOS, __FILE__, __LINE__
298
- def #{request}(*args)
306
+ def #{request.last}(*args)
299
307
  Fog::Mock.not_implemented
300
308
  end
301
309
  EOS
302
310
  end
303
311
  end
304
312
  end
313
+
314
+ # Requires the correct file for an item (collection, model, or request).
315
+ #
316
+ # @param [Array] item
317
+ # An item to require. Should be an array in the form of [path, file].
318
+ # @param [String] fallback_dir
319
+ # The directory to look for the file in if the first element of `item`
320
+ # is nil.
321
+ # @return [Boolean] Returns the same as `Kernel#require`.
322
+ def require_item(item, fallback_dir)
323
+ path, file = item
324
+ require File.join(path || fallback_dir, file.to_s)
325
+ end
305
326
  end
306
327
  end
307
328
  end
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Core
3
- VERSION = "1.25.0"
3
+ VERSION = "1.27.0"
4
4
  end
5
5
  end
@@ -13,9 +13,6 @@ if Fog.mock?
13
13
  :aws_secret_access_key => "aws_secret_access_key",
14
14
  :ia_access_key_id => "aws_access_key_id",
15
15
  :ia_secret_access_key => "aws_secret_access_key",
16
- :atmos_storage_token => "atmos_token",
17
- :atmos_storage_secret => "atmos_secret",
18
- :atmos_storage_endpoint => "http://atmos.is.cool:1000/test1.0",
19
16
  :bluebox_api_key => "bluebox_api_key",
20
17
  :bluebox_customer_id => "bluebox_customer_id",
21
18
  :brightbox_client_id => "brightbox_client_id",
@@ -34,9 +31,6 @@ if Fog.mock?
34
31
  :dnsimple_password => "dnsimple_password",
35
32
  :dnsmadeeasy_api_key => "dnsmadeeasy_api_key",
36
33
  :dnsmadeeasy_secret_key => "dnsmadeeasy_secret_key",
37
- :ecloud_username => "ecloud_username",
38
- :ecloud_password => "ecloud_password",
39
- :ecloud_versions_uri => "http://ecloud.versions.uri",
40
34
  :glesys_username => "glesys_username",
41
35
  :glesys_api_key => "glesys_api_key",
42
36
  :go_grid_api_key => "go_grid_api_key",
@@ -77,8 +71,6 @@ if Fog.mock?
77
71
  :rackspace_username => "rackspace_username",
78
72
  :riakcs_access_key_id => "riakcs_access_key_id",
79
73
  :riakcs_secret_access_key => "riakcs_secret_access_key",
80
- :storm_on_demand_username => "storm_on_demand_username",
81
- :storm_on_demand_password => "storm_on_demand_password",
82
74
  :vcloud_host => "vcloud_host",
83
75
  :vcloud_password => "vcloud_password",
84
76
  :vcloud_username => "vcloud_username",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.25.0
4
+ version: 1.27.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Light
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-18 00:00:00.000000000 Z
12
+ date: 2014-12-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder