storage 0.2.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fd2bec2d0dd25eba612ea984b394c8fc4322a019
4
- data.tar.gz: 4387f67ab04388059956ec41a410d3793ddc2581
3
+ metadata.gz: a4d8b072280f92e4e745df2bb3180fd1e8640f75
4
+ data.tar.gz: 3f88505cdc2bbdcf4af9f727caab88014a226d7a
5
5
  SHA512:
6
- metadata.gz: 4f248beff7dbb3229a2fbc1f3c7f46f3884c19e5dc7b05696e81c55ec20af960ba506f98d57751f2126bf6e5a19cf092f8499a26c02a460129422edd4d74b506
7
- data.tar.gz: b621accb8cd68e00218d2b33430e5146d4f9f3d4c486fee9dc2d341f3fd84da4a47a39d33141f489b0e22cd620c13675d043a8a14dc9e93e6f08dad6786524e6
6
+ metadata.gz: 8045b230b182476fb49ec5491a3a03a36454bb8f268a735b4cd935bd562b0de93b27239d5b62e324bc7b591108282a4a87ce51068f1e01078ea7d98af8eadc85
7
+ data.tar.gz: a91613e6bcc193464ca5b1f19ec8a820ee08f61419480e9a3cfd99b59081fb51234235863c0e65168b2d14bdc065733c432356eec34d98b3b38a6776c4a494e8
data/.rspec CHANGED
@@ -1 +1 @@
1
- --color --format documentation
1
+ --color
data/Gemfile.lock CHANGED
@@ -1,62 +1,31 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- storage (0.2.0)
4
+ storage (0.3.0)
5
5
  fog
6
+ mime-types
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
9
10
  specs:
10
- CFPropertyList (2.3.1)
11
- actionmailer (3.2.22)
12
- actionpack (= 3.2.22)
13
- mail (~> 2.5.4)
14
- actionpack (3.2.22)
15
- activemodel (= 3.2.22)
16
- activesupport (= 3.2.22)
17
- builder (~> 3.0.0)
18
- erubis (~> 2.7.0)
19
- journey (~> 1.0.4)
20
- rack (~> 1.4.5)
21
- rack-cache (~> 1.2)
22
- rack-test (~> 0.6.1)
23
- sprockets (~> 2.2.1)
24
- activemodel (3.2.22)
25
- activesupport (= 3.2.22)
26
- builder (~> 3.0.0)
27
- activerecord (3.2.22)
28
- activemodel (= 3.2.22)
29
- activesupport (= 3.2.22)
30
- arel (~> 3.0.2)
31
- tzinfo (~> 0.3.29)
32
- activeresource (3.2.22)
33
- activemodel (= 3.2.22)
34
- activesupport (= 3.2.22)
35
- activesupport (3.2.22)
36
- i18n (~> 0.6, >= 0.6.4)
37
- multi_json (~> 1.0)
38
- arel (3.0.3)
39
- ast (2.0.0)
40
- astrolabe (1.3.0)
41
- parser (>= 2.2.0.pre.3, < 3.0)
11
+ CFPropertyList (2.3.2)
42
12
  awesome_print (1.6.1)
43
- builder (3.0.4)
44
- byebug (4.0.5)
45
- columnize (= 0.9.0)
46
- coderay (1.1.0)
47
- columnize (0.9.0)
13
+ builder (3.2.2)
14
+ byebug (8.2.2)
15
+ coderay (1.1.1)
48
16
  diff-lcs (1.2.5)
49
- erubis (2.7.0)
50
- excon (0.45.3)
17
+ excon (0.47.0)
51
18
  fission (0.5.0)
52
19
  CFPropertyList (~> 2.2)
53
- fog (1.31.0)
20
+ fog (1.37.0)
21
+ fog-aliyun (>= 0.1.0)
54
22
  fog-atmos
55
- fog-aws (~> 0.0)
23
+ fog-aws (>= 0.6.0)
56
24
  fog-brightbox (~> 0.4)
57
- fog-core (~> 1.30)
58
- fog-ecloud
59
- fog-google (>= 0.0.2)
25
+ fog-core (~> 1.32)
26
+ fog-dynect (~> 0.0.2)
27
+ fog-ecloud (~> 0.1)
28
+ fog-google (<= 0.1.0)
60
29
  fog-json
61
30
  fog-local
62
31
  fog-powerdns (>= 0.1.1)
@@ -70,32 +39,39 @@ GEM
70
39
  fog-terremark
71
40
  fog-vmfusion
72
41
  fog-voxel
42
+ fog-vsphere (>= 0.4.0)
43
+ fog-xenserver
73
44
  fog-xml (~> 0.1.1)
74
45
  ipaddress (~> 0.5)
75
- nokogiri (~> 1.5, >= 1.5.11)
46
+ fog-aliyun (0.1.0)
47
+ fog-core (~> 1.27)
48
+ fog-json (~> 1.0)
49
+ ipaddress (~> 0.8)
50
+ xml-simple (~> 1.1)
76
51
  fog-atmos (0.1.0)
77
52
  fog-core
78
53
  fog-xml
79
- fog-aws (0.6.0)
54
+ fog-aws (0.8.1)
80
55
  fog-core (~> 1.27)
81
56
  fog-json (~> 1.0)
82
57
  fog-xml (~> 0.1)
83
58
  ipaddress (~> 0.8)
84
- fog-brightbox (0.7.2)
59
+ fog-brightbox (0.10.1)
85
60
  fog-core (~> 1.22)
86
61
  fog-json
87
62
  inflecto (~> 0.0.2)
88
- fog-core (1.31.1)
63
+ fog-core (1.36.0)
89
64
  builder
90
65
  excon (~> 0.45)
91
66
  formatador (~> 0.2)
92
- mime-types
93
- net-scp (~> 1.1)
94
- net-ssh (>= 2.1.3)
95
- fog-ecloud (0.2.0)
67
+ fog-dynect (0.0.2)
68
+ fog-core
69
+ fog-json
70
+ fog-xml
71
+ fog-ecloud (0.3.0)
96
72
  fog-core
97
73
  fog-xml
98
- fog-google (0.0.6)
74
+ fog-google (0.1.0)
99
75
  fog-core
100
76
  fog-json
101
77
  fog-xml
@@ -108,11 +84,11 @@ GEM
108
84
  fog-core (~> 1.27)
109
85
  fog-json (~> 1.0)
110
86
  fog-xml (~> 0.1)
111
- fog-profitbricks (0.0.3)
87
+ fog-profitbricks (0.0.5)
112
88
  fog-core
113
89
  fog-xml
114
90
  nokogiri
115
- fog-radosgw (0.0.4)
91
+ fog-radosgw (0.0.5)
116
92
  fog-core (>= 1.21.0)
117
93
  fog-json
118
94
  fog-xml (>= 0.0.1)
@@ -120,13 +96,13 @@ GEM
120
96
  fog-core
121
97
  fog-json
122
98
  fog-xml
123
- fog-sakuracloud (1.0.1)
99
+ fog-sakuracloud (1.7.5)
124
100
  fog-core
125
101
  fog-json
126
102
  fog-serverlove (0.1.2)
127
103
  fog-core
128
104
  fog-json
129
- fog-softlayer (0.4.7)
105
+ fog-softlayer (1.1.0)
130
106
  fog-core
131
107
  fog-json
132
108
  fog-storm_on_demand (0.1.1)
@@ -141,37 +117,30 @@ GEM
141
117
  fog-voxel (0.1.0)
142
118
  fog-core
143
119
  fog-xml
120
+ fog-vsphere (0.6.0)
121
+ fog-core
122
+ rbvmomi (~> 1.8)
123
+ fog-xenserver (0.2.3)
124
+ fog-core
125
+ fog-xml
144
126
  fog-xml (0.1.2)
145
127
  fog-core
146
128
  nokogiri (~> 1.5, >= 1.5.11)
147
129
  formatador (0.2.5)
148
- hike (1.2.3)
149
- i18n (0.7.0)
150
130
  inflecto (0.0.2)
151
- ipaddress (0.8.0)
152
- journey (1.0.4)
153
- json (1.8.3)
154
- mail (2.5.4)
155
- mime-types (~> 1.16)
156
- treetop (~> 1.4.8)
131
+ ipaddress (0.8.3)
157
132
  method_source (0.8.2)
158
- mime-types (1.25.1)
159
- mini_portile (0.6.2)
160
- multi_json (1.11.1)
161
- net-scp (1.2.1)
162
- net-ssh (>= 2.6.5)
163
- net-ssh (2.9.2)
164
- nokogiri (1.6.6.2)
165
- mini_portile (~> 0.6.0)
166
- parser (2.3.0.pre.2)
167
- ast (>= 1.1, < 3.0)
168
- polyglot (0.3.5)
169
- pry (0.10.1)
133
+ mime-types (2.99.1)
134
+ mini_portile2 (2.0.0)
135
+ multi_json (1.11.2)
136
+ nokogiri (1.6.7.2)
137
+ mini_portile2 (~> 2.0.0.rc2)
138
+ pry (0.10.3)
170
139
  coderay (~> 1.1.0)
171
140
  method_source (~> 0.8.1)
172
141
  slop (~> 3.4)
173
- pry-byebug (3.1.0)
174
- byebug (~> 4.0)
142
+ pry-byebug (3.3.0)
143
+ byebug (~> 8.0)
175
144
  pry (~> 0.10)
176
145
  pry-meta (0.0.10)
177
146
  awesome_print
@@ -181,71 +150,34 @@ GEM
181
150
  pry-remote (0.1.8)
182
151
  pry (~> 0.9)
183
152
  slop (~> 3.0)
184
- rack (1.4.7)
185
- rack-cache (1.2)
186
- rack (>= 0.4)
187
- rack-ssl (1.3.4)
188
- rack
189
- rack-test (0.6.3)
190
- rack (>= 1.0)
191
- rails (3.2.22)
192
- actionmailer (= 3.2.22)
193
- actionpack (= 3.2.22)
194
- activerecord (= 3.2.22)
195
- activeresource (= 3.2.22)
196
- activesupport (= 3.2.22)
197
- bundler (~> 1.0)
198
- railties (= 3.2.22)
199
- railties (3.2.22)
200
- actionpack (= 3.2.22)
201
- activesupport (= 3.2.22)
202
- rack-ssl (~> 1.3.2)
203
- rake (>= 0.8.7)
204
- rdoc (~> 3.4)
205
- thor (>= 0.14.6, < 2.0)
206
- rainbow (2.0.0)
207
- rake (10.4.2)
208
- rdoc (3.12.2)
209
- json (~> 1.4)
210
- rspec (3.3.0)
211
- rspec-core (~> 3.3.0)
212
- rspec-expectations (~> 3.3.0)
213
- rspec-mocks (~> 3.3.0)
214
- rspec-core (3.3.1)
215
- rspec-support (~> 3.3.0)
216
- rspec-expectations (3.3.0)
153
+ rbvmomi (1.8.2)
154
+ builder
155
+ nokogiri (>= 1.4.1)
156
+ trollop
157
+ rspec (3.4.0)
158
+ rspec-core (~> 3.4.0)
159
+ rspec-expectations (~> 3.4.0)
160
+ rspec-mocks (~> 3.4.0)
161
+ rspec-core (3.4.3)
162
+ rspec-support (~> 3.4.0)
163
+ rspec-expectations (3.4.0)
217
164
  diff-lcs (>= 1.2.0, < 2.0)
218
- rspec-support (~> 3.3.0)
219
- rspec-mocks (3.3.1)
165
+ rspec-support (~> 3.4.0)
166
+ rspec-mocks (3.4.1)
220
167
  diff-lcs (>= 1.2.0, < 2.0)
221
- rspec-support (~> 3.3.0)
222
- rspec-support (3.3.0)
168
+ rspec-support (~> 3.4.0)
169
+ rspec-support (3.4.1)
223
170
  slop (3.6.0)
224
- sprockets (2.2.3)
225
- hike (~> 1.2)
226
- multi_json (~> 1.0)
227
- rack (~> 1.0)
228
- tilt (~> 1.1, != 1.3.0)
229
- thor (0.19.1)
230
- tilt (1.4.1)
231
- transpec (3.1.0)
232
- activesupport (>= 3.0, < 5.0)
233
- astrolabe (~> 1.2)
234
- bundler (~> 1.3)
235
- json (~> 1.8)
236
- parser (~> 2.2)
237
- rainbow (>= 1.99.1, < 3.0)
238
- treetop (1.4.15)
239
- polyglot
240
- polyglot (>= 0.3.1)
241
- tzinfo (0.3.44)
171
+ trollop (2.1.2)
172
+ xml-simple (1.1.5)
242
173
 
243
174
  PLATFORMS
244
175
  ruby
245
176
 
246
177
  DEPENDENCIES
247
178
  pry-meta
248
- rails (~> 3.1)
249
179
  rspec
250
180
  storage!
251
- transpec
181
+
182
+ BUNDLED WITH
183
+ 1.11.2
@@ -19,9 +19,12 @@ module Storage
19
19
  # Set the S3 access key.
20
20
  attr_accessor :access_key
21
21
 
22
- # Set the S3 secret key
22
+ # Set the S3 secret key.
23
23
  attr_accessor :secret_key
24
24
 
25
+ # Set the S3 region.
26
+ attr_accessor :region
27
+
25
28
  # Set the FileSystem storage path.
26
29
  attr_accessor :path
27
30
  end
@@ -9,7 +9,8 @@ module Storage
9
9
  @connection ||= Fog::Storage.new({
10
10
  :provider => 'AWS',
11
11
  :aws_access_key_id => Storage::Config.access_key,
12
- :aws_secret_access_key => Storage::Config.secret_key
12
+ :aws_secret_access_key => Storage::Config.secret_key,
13
+ :region => Storage::Config.region
13
14
  })
14
15
  end
15
16
 
@@ -1,7 +1,7 @@
1
1
  module Storage
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 2
4
+ MINOR = 3
5
5
  PATCH = 0
6
6
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
  end
@@ -1,111 +1,134 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Storage::Strategies::S3 do
4
- before do
5
- @adapter = Storage::Strategies::S3
6
- @source = RESOURCES.join("file.txt")
7
- @destiny = TMP.join("lorem.txt")
8
- @connection = double("connection")
9
- @bucket = double("bucket")
10
-
11
- allow(@adapter).to receive(:connection).and_return(@connection)
12
-
13
- Storage.setup do |c|
14
- c.strategy = :s3
15
- c.access_key = "abc"
16
- c.secret_key = "123"
4
+ context "region" do
5
+ before do
6
+ Storage.setup do |c|
7
+ c.strategy = :s3
8
+ c.access_key = "AKIAIOSFODNN7EXAMPLE"
9
+ c.secret_key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
10
+ end
11
+ end
12
+
13
+ it "sets default region" do
14
+ Storage::Config.region = nil
15
+ expect(Storage::Strategies::S3.connection.region).to eq("us-east-1")
16
+ end
17
+
18
+ it "sets custom region" do
19
+ Storage::Config.region = "eu-west-1"
20
+ expect(Storage::Strategies::S3.connection.region).to eq("eu-west-1")
17
21
  end
18
22
  end
19
23
 
20
- it "should save a file using file handler" do
21
- handler = File.open(@source)
24
+ context "general" do
25
+ before do
26
+ @adapter = Storage::Strategies::S3
27
+ @source = RESOURCES.join("file.txt")
28
+ @destiny = TMP.join("lorem.txt")
29
+ @connection = double("connection")
30
+ @bucket = double("bucket")
31
+
32
+ allow(@adapter).to receive(:connection).and_return(@connection)
33
+
34
+ Storage.setup do |c|
35
+ c.strategy = :s3
36
+ c.access_key = "abc"
37
+ c.secret_key = "123"
38
+ c.region = "us-east-1"
39
+ end
40
+ end
22
41
 
23
- expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
24
- expect(@adapter).to receive_message_chain('find_object').and_return(nil)
25
- expect(@bucket).to receive_message_chain('files.create').with(:key => 'lorem.txt', :body => handler, :public => true)
42
+ it "should save a file using file handler" do
43
+ handler = File.open(@source)
26
44
 
27
- Storage.store(handler, :name => "lorem.txt", :bucket => "files")
28
- end
45
+ expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
46
+ expect(@adapter).to receive_message_chain('find_object').and_return(nil)
47
+ expect(@bucket).to receive_message_chain('files.create').with(:key => 'lorem.txt', :body => handler, :public => true)
29
48
 
30
- it "should save a file using a path" do
31
- expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
32
- expect(@adapter).to receive_message_chain('find_object').and_return(nil)
33
- expect(@bucket).to receive_message_chain('files.create').with(:key => 'lorem.txt', :body => kind_of(File), :public => true)
49
+ Storage.store(handler, :name => "lorem.txt", :bucket => "files")
50
+ end
34
51
 
35
- Storage.store(@source, :name => "lorem.txt", :bucket => "files")
36
- end
52
+ it "should save a file using a path" do
53
+ expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
54
+ expect(@adapter).to receive_message_chain('find_object').and_return(nil)
55
+ expect(@bucket).to receive_message_chain('files.create').with(:key => 'lorem.txt', :body => kind_of(File), :public => true)
37
56
 
38
- it "should remove an existing file" do
39
- object = double("object")
40
- expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
41
- expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(object)
42
- expect(object).to receive(:destroy).and_return(true)
57
+ Storage.store(@source, :name => "lorem.txt", :bucket => "files")
58
+ end
43
59
 
44
- expect(Storage.remove("lorem.txt", :bucket => "files")).to be_truthy
45
- end
60
+ it "should remove an existing file" do
61
+ object = double("object")
62
+ expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
63
+ expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(object)
64
+ expect(object).to receive(:destroy).and_return(true)
46
65
 
47
- it "should raise when trying to removing an unexesting file" do
48
- expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
49
- expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(nil)
66
+ expect(Storage.remove("lorem.txt", :bucket => "files")).to be_truthy
67
+ end
50
68
 
51
- expect {
52
- Storage.remove("lorem.txt", :bucket => "files")
53
- }.to raise_error(Storage::MissingFileError)
54
- end
69
+ it "should raise when trying to removing an unexesting file" do
70
+ expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
71
+ expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(nil)
55
72
 
56
- it "should retrieve an existing file (public url)" do
57
- object = double("object", public_url: 'PUBLIC_URL')
58
- expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
59
- expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(object)
73
+ expect {
74
+ Storage.remove("lorem.txt", :bucket => "files")
75
+ }.to raise_error(Storage::MissingFileError)
76
+ end
60
77
 
61
- expect(Storage.get("lorem.txt", :bucket => "files")).to eq('PUBLIC_URL')
62
- end
78
+ it "should retrieve an existing file (public url)" do
79
+ object = double("object", public_url: 'PUBLIC_URL')
80
+ expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
81
+ expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(object)
63
82
 
64
- it "should retrieve an existing file (private url)" do
65
- object = double("object", public_url: nil)
83
+ expect(Storage.get("lorem.txt", :bucket => "files")).to eq('PUBLIC_URL')
84
+ end
66
85
 
67
- expect(object).to receive_message_chain('url').with(Time.now.to_i + 3600).and_return('PRIVATE_URL')
68
- expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
69
- expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(object)
86
+ it "should retrieve an existing file (private url)" do
87
+ object = double("object", public_url: nil)
70
88
 
71
- expect(Storage.get("lorem.txt", :bucket => "files")).to eq('PRIVATE_URL')
72
- end
89
+ expect(object).to receive_message_chain('url').with(Time.now.to_i + 3600).and_return('PRIVATE_URL')
90
+ expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
91
+ expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(object)
73
92
 
74
- it "should raise when trying to retrieve an missing file" do
75
- expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
76
- expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(nil)
93
+ expect(Storage.get("lorem.txt", :bucket => "files")).to eq('PRIVATE_URL')
94
+ end
77
95
 
78
- expect {
79
- Storage.get("lorem.txt", :bucket => "files")
80
- }.to raise_error(Storage::MissingFileError)
81
- end
96
+ it "should raise when trying to retrieve an missing file" do
97
+ expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
98
+ expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(nil)
99
+
100
+ expect {
101
+ Storage.get("lorem.txt", :bucket => "files")
102
+ }.to raise_error(Storage::MissingFileError)
103
+ end
82
104
 
83
- it "should raise when trying to retrieve an missing bucket" do
84
- expect(@connection).to receive_message_chain('directories.get').with('files').and_return(nil)
105
+ it "should raise when trying to retrieve an missing bucket" do
106
+ expect(@connection).to receive_message_chain('directories.get').with('files').and_return(nil)
85
107
 
86
- expect {
87
- Storage.get("lorem.txt", :bucket => "files")
88
- }.to raise_error(Storage::MissingFileError)
89
- end
108
+ expect {
109
+ Storage.get("lorem.txt", :bucket => "files")
110
+ }.to raise_error(Storage::MissingFileError)
111
+ end
90
112
 
91
- it "should create a bucket and trying to store a file on a missing bucket" do
92
- expect(@adapter).to receive_message_chain('find_object').and_return(nil)
93
- allow(@connection).to receive_message_chain('directories.get').and_return(nil)
94
- expect(@connection).to receive_message_chain('directories.create').with(key: 'files', public: false).and_return(@bucket)
113
+ it "should create a bucket and trying to store a file on a missing bucket" do
114
+ expect(@adapter).to receive_message_chain('find_object').and_return(nil)
115
+ allow(@connection).to receive_message_chain('directories.get').and_return(nil)
116
+ expect(@connection).to receive_message_chain('directories.create').with(key: 'files', public: false).and_return(@bucket)
95
117
 
96
- @bucket.as_null_object
118
+ @bucket.as_null_object
97
119
 
98
- Storage.store(@source, :name => 'lorem.txt', :bucket => "files")
99
- end
120
+ Storage.store(@source, :name => 'lorem.txt', :bucket => "files")
121
+ end
100
122
 
101
- it "should raise when saving a file that already exists" do
102
- object = double("object")
123
+ it "should raise when saving a file that already exists" do
124
+ object = double("object")
103
125
 
104
- expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
105
- expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(object)
126
+ expect(@connection).to receive_message_chain('directories.get').with('files').and_return(@bucket)
127
+ expect(@bucket).to receive_message_chain('files.get').with('lorem.txt').and_return(object)
106
128
 
107
- expect {
108
- Storage.store(@source, :name => 'lorem.txt', :bucket => 'files')
109
- }.to raise_error(Storage::FileAlreadyExistsError)
129
+ expect {
130
+ Storage.store(@source, :name => 'lorem.txt', :bucket => 'files')
131
+ }.to raise_error(Storage::FileAlreadyExistsError)
132
+ end
110
133
  end
111
134
  end
data/storage.gemspec CHANGED
@@ -16,9 +16,8 @@ Gem::Specification.new do |s|
16
16
  s.require_paths = ["lib"]
17
17
 
18
18
  s.add_dependency "fog"
19
+ s.add_dependency "mime-types"
19
20
 
20
- s.add_development_dependency "rails" , "~> 3.1"
21
21
  s.add_development_dependency "rspec"
22
- s.add_development_dependency "transpec"
23
22
  s.add_development_dependency "pry-meta"
24
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: storage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-26 00:00:00.000000000 Z
11
+ date: 2016-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fog
@@ -25,27 +25,13 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rails
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '3.1'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '3.1'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
28
+ name: mime-types
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - ">="
46
32
  - !ruby/object:Gem::Version
47
33
  version: '0'
48
- type: :development
34
+ type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
@@ -53,7 +39,7 @@ dependencies:
53
39
  - !ruby/object:Gem::Version
54
40
  version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
- name: transpec
42
+ name: rspec
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
@@ -126,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
112
  version: '0'
127
113
  requirements: []
128
114
  rubyforge_project:
129
- rubygems_version: 2.4.6
115
+ rubygems_version: 2.5.1
130
116
  signing_key:
131
117
  specification_version: 4
132
118
  summary: 'This gem provides a simple API for multiple storage backends. Supported