fog-riakcs 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/.hound.yml +20 -0
  4. data/.rubocop.yml +20 -0
  5. data/.ruby-gemset +1 -0
  6. data/.ruby-version +1 -0
  7. data/.travis.yml +17 -0
  8. data/CONTRIBUTING.md +18 -0
  9. data/CONTRIBUTORS.md +10 -0
  10. data/Gemfile +4 -0
  11. data/LICENSE.md +20 -0
  12. data/README.md +38 -0
  13. data/Rakefile +18 -0
  14. data/fog-riakcs.gemspec +36 -0
  15. data/gemfiles/Gemfile.1.9.2- +8 -0
  16. data/gemfiles/Gemfile.1.9.3+ +7 -0
  17. data/lib/fog/riakcs.rb +17 -0
  18. data/lib/fog/riakcs/multipart_utils.rb +45 -0
  19. data/lib/fog/riakcs/multipart_utils/headers.rb +33 -0
  20. data/lib/fog/riakcs/provisioning.rb +97 -0
  21. data/lib/fog/riakcs/provisioning/create_user.rb +77 -0
  22. data/lib/fog/riakcs/provisioning/disable_user.rb +23 -0
  23. data/lib/fog/riakcs/provisioning/enable_user.rb +23 -0
  24. data/lib/fog/riakcs/provisioning/get_user.rb +41 -0
  25. data/lib/fog/riakcs/provisioning/list_users.rb +43 -0
  26. data/lib/fog/riakcs/provisioning/regrant_secret.rb +23 -0
  27. data/lib/fog/riakcs/provisioning/update_user.rb +23 -0
  28. data/lib/fog/riakcs/usage.rb +61 -0
  29. data/lib/fog/riakcs/usage/get_usage.rb +68 -0
  30. data/lib/fog/riakcs/user_utils.rb +34 -0
  31. data/lib/fog/riakcs/utils.rb +16 -0
  32. data/lib/fog/riakcs/version.rb +5 -0
  33. data/spec/minitest_helper.rb +31 -0
  34. data/tests/helper.rb +34 -0
  35. data/tests/helpers/collection_helper.rb +97 -0
  36. data/tests/helpers/flavors_helper.rb +32 -0
  37. data/tests/helpers/formats_helper.rb +98 -0
  38. data/tests/helpers/formats_helper_tests.rb +110 -0
  39. data/tests/helpers/mock_helper.rb +15 -0
  40. data/tests/helpers/model_helper.rb +29 -0
  41. data/tests/helpers/responds_to_helper.rb +11 -0
  42. data/tests/helpers/schema_validator_tests.rb +107 -0
  43. data/tests/helpers/server_helper.rb +25 -0
  44. data/tests/helpers/servers_helper.rb +10 -0
  45. data/tests/helpers/succeeds_helper.rb +9 -0
  46. data/tests/riakcs/provisioning/provisioning_tests.rb +174 -0
  47. data/tests/riakcs/usage/usage_tests.rb +29 -0
  48. metadata +233 -0
@@ -0,0 +1,11 @@
1
+ module Shindo
2
+ class Tests
3
+ def responds_to(method_names)
4
+ for method_name in [*method_names]
5
+ tests("#respond_to?(:#{method_name})").returns(true) do
6
+ @instance.respond_to?(method_name)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,107 @@
1
+ Shindo.tests('Fog::Schema::DataValidator', 'meta') do
2
+
3
+ validator = Fog::Schema::DataValidator.new
4
+
5
+ tests('#validate') do
6
+
7
+ tests('returns true') do
8
+
9
+ returns(true, 'when value matches schema expectation') do
10
+ validator.validate({"key" => "Value"}, {"key" => String})
11
+ end
12
+
13
+ returns(true, 'when values within an array all match schema expectation') do
14
+ validator.validate({"key" => [1, 2]}, {"key" => [Integer]})
15
+ end
16
+
17
+ returns(true, 'when nested values match schema expectation') do
18
+ validator.validate({"key" => {:nested_key => "Value"}}, {"key" => {:nested_key => String}})
19
+ end
20
+
21
+ returns(true, 'when collection of values all match schema expectation') do
22
+ validator.validate([{"key" => "Value"}, {"key" => "Value"}], [{"key" => String}])
23
+ end
24
+
25
+ returns(true, 'when collection is empty although schema covers optional members') do
26
+ validator.validate([], [{"key" => String}])
27
+ end
28
+
29
+ returns(true, 'when additional keys are passed and not strict') do
30
+ validator.validate({"key" => "Value", :extra => "Bonus"}, {"key" => String}, {:allow_extra_keys => true})
31
+ end
32
+
33
+ returns(true, 'when value is nil and schema expects NilClass') do
34
+ validator.validate({"key" => nil}, {"key" => NilClass})
35
+ end
36
+
37
+ returns(true, 'when value and schema match as hashes') do
38
+ validator.validate({}, {})
39
+ end
40
+
41
+ returns(true, 'when value and schema match as arrays') do
42
+ validator.validate([], [])
43
+ end
44
+
45
+ returns(true, 'when value is a Time') do
46
+ validator.validate({"time" => Time.now}, {"time" => Time})
47
+ end
48
+
49
+ returns(true, 'when key is missing but value should be NilClass (#1477)') do
50
+ validator.validate({}, {"key" => NilClass}, {:allow_optional_rules => true})
51
+ end
52
+
53
+ returns(true, 'when key is missing but value is nullable (#1477)') do
54
+ validator.validate({}, {"key" => Fog::Nullable::String}, {:allow_optional_rules => true})
55
+ end
56
+
57
+ end
58
+
59
+ tests('returns false') do
60
+
61
+ returns(false, 'when value does not match schema expectation') do
62
+ validator.validate({"key" => nil}, {"key" => String})
63
+ end
64
+
65
+ returns(false, 'when key formats do not match') do
66
+ validator.validate({"key" => "Value"}, {:key => String})
67
+ end
68
+
69
+ returns(false, 'when additional keys are passed and strict') do
70
+ validator.validate({"key" => "Missing"}, {})
71
+ end
72
+
73
+ returns(false, 'when some keys do not appear') do
74
+ validator.validate({}, {"key" => String})
75
+ end
76
+
77
+ returns(false, 'when collection contains a member that does not match schema') do
78
+ validator.validate([{"key" => "Value"}, {"key" => 5}], [{"key" => String}])
79
+ end
80
+
81
+ returns(false, 'when collection has multiple schema patterns') do
82
+ validator.validate([{"key" => "Value"}], [{"key" => Integer}, {"key" => String}])
83
+ end
84
+
85
+ returns(false, 'when hash and array are compared') do
86
+ validator.validate({}, [])
87
+ end
88
+
89
+ returns(false, 'when array and hash are compared') do
90
+ validator.validate([], {})
91
+ end
92
+
93
+ returns(false, 'when a hash is expected but another data type is found') do
94
+ validator.validate({"key" => {:nested_key => []}}, {"key" => {:nested_key => {}}})
95
+ end
96
+
97
+ returns(false, 'when key is missing but value should be NilClass (#1477)') do
98
+ validator.validate({}, {"key" => NilClass}, {:allow_optional_rules => false})
99
+ end
100
+
101
+ returns(false, 'when key is missing but value is nullable (#1477)') do
102
+ validator.validate({}, {"key" => Fog::Nullable::String}, {:allow_optional_rules => false})
103
+ end
104
+
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,25 @@
1
+ def server_tests(connection, params = {}, mocks_implemented = true)
2
+ model_tests(connection.servers, params, mocks_implemented) do
3
+
4
+ tests('#reload').returns(true) do
5
+ pending if Fog.mocking? && !mocks_implemented
6
+ @instance.wait_for { ready? }
7
+ identity = @instance.identity
8
+ !identity.nil? && identity == @instance.reload.identity
9
+ end
10
+
11
+ responds_to([:ready?, :state])
12
+ yield if block_given?
13
+
14
+ tests('#reboot').succeeds do
15
+ pending if Fog.mocking? && !mocks_implemented
16
+ @instance.wait_for { ready? }
17
+ @instance.reboot
18
+ end
19
+
20
+ if !Fog.mocking? || mocks_implemented
21
+ @instance.wait_for { ready? }
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,10 @@
1
+ def servers_tests(connection, params = {}, mocks_implemented = true)
2
+ collection_tests(connection.servers, params, mocks_implemented) do
3
+
4
+ if !Fog.mocking? || mocks_implemented
5
+ @instance.wait_for { ready? }
6
+ yield if block_given?
7
+ end
8
+
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ module Shindo
2
+ class Tests
3
+ def succeeds
4
+ test('succeeds') do
5
+ !!instance_eval(&Proc.new)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,174 @@
1
+ Shindo.tests('RiakCS::Provisioning | provisioning requests', ['riakcs']) do
2
+
3
+ current_timestamp = Time.now.to_i
4
+
5
+ user_format = {
6
+ 'email' => String,
7
+ 'display_name' => String,
8
+ 'name' => String,
9
+ 'key_id' => String,
10
+ 'key_secret' => String,
11
+ 'id' => String,
12
+ 'status' => String,
13
+ }
14
+
15
+ tests('User creation') do
16
+
17
+ tests('is successful').returns(String) do
18
+
19
+ # Create a user.
20
+ #
21
+ email, name = "successful_user_creation_test_#{current_timestamp}@example.com", "Fog User"
22
+ key_id = Fog::RiakCS[:provisioning].create_user(email, name).body['key_id']
23
+ key_id.class
24
+
25
+ end
26
+
27
+ tests('is successful anonymously').returns(String) do
28
+
29
+ # Create a user.
30
+ #
31
+ email, name = "successful_anonymous_user_creation_test_#{current_timestamp}@example.com", "Fog User"
32
+ key_id = Fog::RiakCS[:provisioning].create_user(email, name, :anonymous => true).body['key_id']
33
+ key_id.class
34
+
35
+ end
36
+
37
+ tests('fails if duplicate').raises(Fog::RiakCS::Provisioning::UserAlreadyExists) do
38
+ 2.times do
39
+ email, name = "failed_duplicate_user_creation_test_#{current_timestamp}@example.com", "Fog User"
40
+ key_id = Fog::RiakCS[:provisioning].create_user(email, name).body['key_id']
41
+ end
42
+ end
43
+
44
+ tests('fails if invalid email').raises(Fog::RiakCS::Provisioning::ServiceUnavailable) do
45
+ email, name = "failed_duplicate_user_creation_test_#{current_timestamp}", "Fog User"
46
+ key_id = Fog::RiakCS[:provisioning].create_user(email, name).body['key_id']
47
+ end
48
+
49
+ end
50
+
51
+ tests('User disable') do
52
+
53
+ tests('is successful').returns(200) do
54
+
55
+ # Create a user.
56
+ #
57
+ email, name = "successful_user_disable_test_#{current_timestamp}@example.com", "Fog User"
58
+ key_id = Fog::RiakCS[:provisioning].create_user(email, name).body['key_id']
59
+
60
+ Fog::RiakCS[:provisioning].disable_user(key_id).status
61
+
62
+ end
63
+
64
+ end
65
+
66
+ tests('User enable') do
67
+
68
+ tests('is successful').returns(200) do
69
+
70
+ # Create a user.
71
+ #
72
+ email, name = "successful_user_disable_enable_test_#{current_timestamp}@example.com", "Fog User"
73
+ key_id = Fog::RiakCS[:provisioning].create_user(email, name).body['key_id']
74
+
75
+ Fog::RiakCS[:provisioning].disable_user(key_id).status
76
+ Fog::RiakCS[:provisioning].enable_user(key_id).status
77
+
78
+ end
79
+
80
+ end
81
+
82
+ tests('User granted new key secret') do
83
+
84
+ tests('is successful').returns(true) do
85
+
86
+ # Create a user.
87
+ #
88
+ email, name = "successful_user_regrant_test_#{current_timestamp}@example.com", "Fog User"
89
+ user = Fog::RiakCS[:provisioning].create_user(email, name).body
90
+ key_id, key_secret = user['key_id'], user['key_secret']
91
+
92
+ Fog::RiakCS[:provisioning].regrant_secret(key_id).status
93
+
94
+ # Verify new secret.
95
+ #
96
+ new_key_secret = Fog::RiakCS[:provisioning].get_user(key_id).body['key_secret']
97
+ new_key_secret != key_secret
98
+
99
+ end
100
+
101
+ end
102
+
103
+ tests('User retrieval') do
104
+
105
+ tests('is successful').formats(user_format) do
106
+
107
+ # Create a user.
108
+ #
109
+ email, name = "user_retrieval_test_#{current_timestamp}@example.com", "Fog User"
110
+ key_id = Fog::RiakCS[:provisioning].create_user(email, name).body['key_id']
111
+
112
+ # Get user details.
113
+ #
114
+ Fog::RiakCS[:provisioning].get_user(key_id).body
115
+
116
+ end
117
+
118
+ end
119
+
120
+ tests('User listing') do
121
+
122
+ tests('sucessfully lists users').formats(user_format) do
123
+
124
+ # Create a user.
125
+ #
126
+ email, name = "user_listing_test_#{current_timestamp}@example.com", "Fog User"
127
+ key_id = Fog::RiakCS[:provisioning].create_user(email, name).body['key_id']
128
+
129
+ # Ensure the list users response contains the user that we just
130
+ # created.
131
+ #
132
+ Fog::RiakCS[:provisioning].list_users.body.select { |x| x['email'] == email }.first
133
+
134
+ end
135
+
136
+ tests('successfully lists users containing no disabled users').returns(nil) do
137
+
138
+ # Create a user.
139
+ #
140
+ email, name = "user_listing_without_disabled_users_test_#{current_timestamp}@example.com", "Fog User"
141
+ key_id = Fog::RiakCS[:provisioning].create_user(email, name).body['key_id']
142
+
143
+ # Disable that user.
144
+ #
145
+ Fog::RiakCS[:provisioning].disable_user(key_id)
146
+
147
+ # Ensure the list users response does not contain the user that we
148
+ # just created and disabled.
149
+ #
150
+ Fog::RiakCS[:provisioning].list_users(:status => :enabled).body.select { |x| x['Email'] == email }.first
151
+
152
+ end
153
+
154
+ tests('successfully lists users containing disabled users').formats(user_format) do
155
+
156
+ # Create a user.
157
+ #
158
+ email, name = "user_listing_with_disabled_users_test_#{current_timestamp}@example.com", "Fog User"
159
+ key_id = Fog::RiakCS[:provisioning].create_user(email, name).body['key_id']
160
+
161
+ # Disable that user.
162
+ #
163
+ Fog::RiakCS[:provisioning].disable_user(key_id)
164
+
165
+ # Ensure the list users response contains the user that we just
166
+ # created and disabled.
167
+ #
168
+ Fog::RiakCS[:provisioning].list_users.body.select { |x| x['email'] == email }.first
169
+
170
+ end
171
+
172
+ end
173
+
174
+ end
@@ -0,0 +1,29 @@
1
+ Shindo.tests('RiakCS::Usage | usage requests', ['riakcs']) do
2
+
3
+ @blank_usage_format = {
4
+ 'Access' => {
5
+ 'Nodes' => [],
6
+ 'Errors' => []
7
+ },
8
+ 'Storage' => {
9
+ 'Samples' => [],
10
+ 'Errors' => []
11
+ }
12
+ }
13
+
14
+ tests('Statistics retrieval with no data returned') do
15
+
16
+ start_time = Time.now.utc + 86400
17
+ end_time = start_time + 86400
18
+
19
+ tests('via JSON').returns(@blank_usage_format) do
20
+
21
+ Fog::RiakCS[:usage].get_usage(Fog.credentials[:riakcs_access_key_id],
22
+ :types => [:access, :storage],
23
+ :start_time => start_time,
24
+ :end_time => end_time).body
25
+
26
+ end
27
+ end
28
+
29
+ end
metadata ADDED
@@ -0,0 +1,233 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fog-riakcs
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Paulo Henrique Lopes Ribeiro
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-02-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: fog-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: fog-json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: fog-xml
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: shindo
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: turn
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: coveralls
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description: |-
154
+ This library can be used as a module for `fog` or as standalone provider
155
+ to use the Riakcs in applications.
156
+ email:
157
+ - plribeiro3000@gmail.com
158
+ executables: []
159
+ extensions: []
160
+ extra_rdoc_files: []
161
+ files:
162
+ - ".gitignore"
163
+ - ".hound.yml"
164
+ - ".rubocop.yml"
165
+ - ".ruby-gemset"
166
+ - ".ruby-version"
167
+ - ".travis.yml"
168
+ - CONTRIBUTING.md
169
+ - CONTRIBUTORS.md
170
+ - Gemfile
171
+ - LICENSE.md
172
+ - README.md
173
+ - Rakefile
174
+ - fog-riakcs.gemspec
175
+ - gemfiles/Gemfile.1.9.2-
176
+ - gemfiles/Gemfile.1.9.3+
177
+ - lib/fog/riakcs.rb
178
+ - lib/fog/riakcs/multipart_utils.rb
179
+ - lib/fog/riakcs/multipart_utils/headers.rb
180
+ - lib/fog/riakcs/provisioning.rb
181
+ - lib/fog/riakcs/provisioning/create_user.rb
182
+ - lib/fog/riakcs/provisioning/disable_user.rb
183
+ - lib/fog/riakcs/provisioning/enable_user.rb
184
+ - lib/fog/riakcs/provisioning/get_user.rb
185
+ - lib/fog/riakcs/provisioning/list_users.rb
186
+ - lib/fog/riakcs/provisioning/regrant_secret.rb
187
+ - lib/fog/riakcs/provisioning/update_user.rb
188
+ - lib/fog/riakcs/usage.rb
189
+ - lib/fog/riakcs/usage/get_usage.rb
190
+ - lib/fog/riakcs/user_utils.rb
191
+ - lib/fog/riakcs/utils.rb
192
+ - lib/fog/riakcs/version.rb
193
+ - spec/minitest_helper.rb
194
+ - tests/helper.rb
195
+ - tests/helpers/collection_helper.rb
196
+ - tests/helpers/flavors_helper.rb
197
+ - tests/helpers/formats_helper.rb
198
+ - tests/helpers/formats_helper_tests.rb
199
+ - tests/helpers/mock_helper.rb
200
+ - tests/helpers/model_helper.rb
201
+ - tests/helpers/responds_to_helper.rb
202
+ - tests/helpers/schema_validator_tests.rb
203
+ - tests/helpers/server_helper.rb
204
+ - tests/helpers/servers_helper.rb
205
+ - tests/helpers/succeeds_helper.rb
206
+ - tests/riakcs/provisioning/provisioning_tests.rb
207
+ - tests/riakcs/usage/usage_tests.rb
208
+ homepage: ''
209
+ licenses:
210
+ - MIT
211
+ metadata: {}
212
+ post_install_message:
213
+ rdoc_options: []
214
+ require_paths:
215
+ - lib
216
+ required_ruby_version: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ required_rubygems_version: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ requirements: []
227
+ rubyforge_project:
228
+ rubygems_version: 2.4.3
229
+ signing_key:
230
+ specification_version: 4
231
+ summary: Module for the 'fog' gem to support Riakcs.
232
+ test_files:
233
+ - spec/minitest_helper.rb