httpimagestore 0.2.1 → 0.2.2
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.
- data/Gemfile +1 -0
- data/Gemfile.lock +2 -0
- data/VERSION +1 -1
- data/httpimagestore.gemspec +5 -2
- data/lib/httpimagestore/s3_service.rb +6 -1
- metadata +37 -22
data/Gemfile
CHANGED
|
@@ -7,6 +7,7 @@ gem "httpthumbnailer-client", "~> 0.1.0"
|
|
|
7
7
|
gem "ruby-ip", "~> 0.9"
|
|
8
8
|
gem "cli", "~> 1.1.0"
|
|
9
9
|
gem "mime-types", "~> 1.17.2"
|
|
10
|
+
gem "retry-this", "~> 1.1"
|
|
10
11
|
|
|
11
12
|
# Add dependencies to develop your gem here.
|
|
12
13
|
# Include everything needed to run rake, tests, features, etc.
|
data/Gemfile.lock
CHANGED
|
@@ -55,6 +55,7 @@ GEM
|
|
|
55
55
|
rcov (0.9.11)
|
|
56
56
|
rdoc (3.11)
|
|
57
57
|
json (~> 1.4)
|
|
58
|
+
retry-this (1.1)
|
|
58
59
|
rmagick (2.13.1)
|
|
59
60
|
rspec (2.8.0)
|
|
60
61
|
rspec-core (~> 2.8.0)
|
|
@@ -90,6 +91,7 @@ DEPENDENCIES
|
|
|
90
91
|
prawn (= 0.8.4)
|
|
91
92
|
rcov
|
|
92
93
|
rdoc (~> 3.9)
|
|
94
|
+
retry-this (~> 1.1)
|
|
93
95
|
rspec (~> 2.8.0)
|
|
94
96
|
ruby-ip (~> 0.9)
|
|
95
97
|
s3 (~> 0.3)
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.2.
|
|
1
|
+
0.2.2
|
data/httpimagestore.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "httpimagestore"
|
|
8
|
-
s.version = "0.2.
|
|
8
|
+
s.version = "0.2.2"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Jakub Pastuszek"]
|
|
12
|
-
s.date = "2012-01-
|
|
12
|
+
s.date = "2012-01-12"
|
|
13
13
|
s.description = "Thumbnails images using httpthumbnailer and stored data on HTTP server (S3)"
|
|
14
14
|
s.email = "jpastuszek@gmail.com"
|
|
15
15
|
s.executables = ["httpimagestore"]
|
|
@@ -60,6 +60,7 @@ Gem::Specification.new do |s|
|
|
|
60
60
|
s.add_runtime_dependency(%q<ruby-ip>, ["~> 0.9"])
|
|
61
61
|
s.add_runtime_dependency(%q<cli>, ["~> 1.1.0"])
|
|
62
62
|
s.add_runtime_dependency(%q<mime-types>, ["~> 1.17.2"])
|
|
63
|
+
s.add_runtime_dependency(%q<retry-this>, ["~> 1.1"])
|
|
63
64
|
s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
|
|
64
65
|
s.add_development_dependency(%q<cucumber>, [">= 0"])
|
|
65
66
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
|
@@ -77,6 +78,7 @@ Gem::Specification.new do |s|
|
|
|
77
78
|
s.add_dependency(%q<ruby-ip>, ["~> 0.9"])
|
|
78
79
|
s.add_dependency(%q<cli>, ["~> 1.1.0"])
|
|
79
80
|
s.add_dependency(%q<mime-types>, ["~> 1.17.2"])
|
|
81
|
+
s.add_dependency(%q<retry-this>, ["~> 1.1"])
|
|
80
82
|
s.add_dependency(%q<rspec>, ["~> 2.8.0"])
|
|
81
83
|
s.add_dependency(%q<cucumber>, [">= 0"])
|
|
82
84
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
|
@@ -95,6 +97,7 @@ Gem::Specification.new do |s|
|
|
|
95
97
|
s.add_dependency(%q<ruby-ip>, ["~> 0.9"])
|
|
96
98
|
s.add_dependency(%q<cli>, ["~> 1.1.0"])
|
|
97
99
|
s.add_dependency(%q<mime-types>, ["~> 1.17.2"])
|
|
100
|
+
s.add_dependency(%q<retry-this>, ["~> 1.1"])
|
|
98
101
|
s.add_dependency(%q<rspec>, ["~> 2.8.0"])
|
|
99
102
|
s.add_dependency(%q<cucumber>, [">= 0"])
|
|
100
103
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 's3'
|
|
2
|
+
require 'retry-this'
|
|
2
3
|
|
|
3
4
|
class S3Service
|
|
4
5
|
def initialize(key_id, key_secret, bucket, options = {})
|
|
@@ -17,7 +18,11 @@ class S3Service
|
|
|
17
18
|
file = @bucket.objects.build(image_path)
|
|
18
19
|
file.content_type = content_type
|
|
19
20
|
file.content = data
|
|
20
|
-
|
|
21
|
+
|
|
22
|
+
RetryThis.retry_this(:times => 3, :sleep => 0.1, :error_types => [Errno::ECONNRESET, S3::Error::RequestTimeout]) do |attempt|
|
|
23
|
+
@logger.warn "Retrying S3 save operation" if attempt > 1
|
|
24
|
+
file.save
|
|
25
|
+
end
|
|
21
26
|
|
|
22
27
|
"http://#{@bucket.name}.s3.amazonaws.com/#{image_path}"
|
|
23
28
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: httpimagestore
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 19
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 2
|
|
9
|
-
-
|
|
10
|
-
version: 0.2.
|
|
9
|
+
- 2
|
|
10
|
+
version: 0.2.2
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Jakub Pastuszek
|
|
@@ -15,7 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2012-01-
|
|
18
|
+
date: 2012-01-12 00:00:00 Z
|
|
19
19
|
dependencies:
|
|
20
20
|
- !ruby/object:Gem::Dependency
|
|
21
21
|
type: :runtime
|
|
@@ -128,8 +128,23 @@ dependencies:
|
|
|
128
128
|
name: mime-types
|
|
129
129
|
version_requirements: *id007
|
|
130
130
|
- !ruby/object:Gem::Dependency
|
|
131
|
-
type: :
|
|
131
|
+
type: :runtime
|
|
132
132
|
requirement: &id008 !ruby/object:Gem::Requirement
|
|
133
|
+
none: false
|
|
134
|
+
requirements:
|
|
135
|
+
- - ~>
|
|
136
|
+
- !ruby/object:Gem::Version
|
|
137
|
+
hash: 13
|
|
138
|
+
segments:
|
|
139
|
+
- 1
|
|
140
|
+
- 1
|
|
141
|
+
version: "1.1"
|
|
142
|
+
prerelease: false
|
|
143
|
+
name: retry-this
|
|
144
|
+
version_requirements: *id008
|
|
145
|
+
- !ruby/object:Gem::Dependency
|
|
146
|
+
type: :development
|
|
147
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
|
133
148
|
none: false
|
|
134
149
|
requirements:
|
|
135
150
|
- - ~>
|
|
@@ -142,10 +157,10 @@ dependencies:
|
|
|
142
157
|
version: 2.8.0
|
|
143
158
|
prerelease: false
|
|
144
159
|
name: rspec
|
|
145
|
-
version_requirements: *
|
|
160
|
+
version_requirements: *id009
|
|
146
161
|
- !ruby/object:Gem::Dependency
|
|
147
162
|
type: :development
|
|
148
|
-
requirement: &
|
|
163
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
|
149
164
|
none: false
|
|
150
165
|
requirements:
|
|
151
166
|
- - ">="
|
|
@@ -156,10 +171,10 @@ dependencies:
|
|
|
156
171
|
version: "0"
|
|
157
172
|
prerelease: false
|
|
158
173
|
name: cucumber
|
|
159
|
-
version_requirements: *
|
|
174
|
+
version_requirements: *id010
|
|
160
175
|
- !ruby/object:Gem::Dependency
|
|
161
176
|
type: :development
|
|
162
|
-
requirement: &
|
|
177
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
|
163
178
|
none: false
|
|
164
179
|
requirements:
|
|
165
180
|
- - ~>
|
|
@@ -172,10 +187,10 @@ dependencies:
|
|
|
172
187
|
version: 1.0.0
|
|
173
188
|
prerelease: false
|
|
174
189
|
name: bundler
|
|
175
|
-
version_requirements: *
|
|
190
|
+
version_requirements: *id011
|
|
176
191
|
- !ruby/object:Gem::Dependency
|
|
177
192
|
type: :development
|
|
178
|
-
requirement: &
|
|
193
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
|
179
194
|
none: false
|
|
180
195
|
requirements:
|
|
181
196
|
- - ~>
|
|
@@ -188,10 +203,10 @@ dependencies:
|
|
|
188
203
|
version: 1.6.4
|
|
189
204
|
prerelease: false
|
|
190
205
|
name: jeweler
|
|
191
|
-
version_requirements: *
|
|
206
|
+
version_requirements: *id012
|
|
192
207
|
- !ruby/object:Gem::Dependency
|
|
193
208
|
type: :development
|
|
194
|
-
requirement: &
|
|
209
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
|
195
210
|
none: false
|
|
196
211
|
requirements:
|
|
197
212
|
- - ">="
|
|
@@ -202,10 +217,10 @@ dependencies:
|
|
|
202
217
|
version: "0"
|
|
203
218
|
prerelease: false
|
|
204
219
|
name: rcov
|
|
205
|
-
version_requirements: *
|
|
220
|
+
version_requirements: *id013
|
|
206
221
|
- !ruby/object:Gem::Dependency
|
|
207
222
|
type: :development
|
|
208
|
-
requirement: &
|
|
223
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
|
209
224
|
none: false
|
|
210
225
|
requirements:
|
|
211
226
|
- - ~>
|
|
@@ -217,10 +232,10 @@ dependencies:
|
|
|
217
232
|
version: "3.9"
|
|
218
233
|
prerelease: false
|
|
219
234
|
name: rdoc
|
|
220
|
-
version_requirements: *
|
|
235
|
+
version_requirements: *id014
|
|
221
236
|
- !ruby/object:Gem::Dependency
|
|
222
237
|
type: :development
|
|
223
|
-
requirement: &
|
|
238
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
|
224
239
|
none: false
|
|
225
240
|
requirements:
|
|
226
241
|
- - ~>
|
|
@@ -231,10 +246,10 @@ dependencies:
|
|
|
231
246
|
version: "1"
|
|
232
247
|
prerelease: false
|
|
233
248
|
name: daemon
|
|
234
|
-
version_requirements: *
|
|
249
|
+
version_requirements: *id015
|
|
235
250
|
- !ruby/object:Gem::Dependency
|
|
236
251
|
type: :development
|
|
237
|
-
requirement: &
|
|
252
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
|
238
253
|
none: false
|
|
239
254
|
requirements:
|
|
240
255
|
- - ~>
|
|
@@ -247,10 +262,10 @@ dependencies:
|
|
|
247
262
|
version: 0.1.0
|
|
248
263
|
prerelease: false
|
|
249
264
|
name: httpthumbnailer
|
|
250
|
-
version_requirements: *
|
|
265
|
+
version_requirements: *id016
|
|
251
266
|
- !ruby/object:Gem::Dependency
|
|
252
267
|
type: :development
|
|
253
|
-
requirement: &
|
|
268
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
|
254
269
|
none: false
|
|
255
270
|
requirements:
|
|
256
271
|
- - "="
|
|
@@ -263,7 +278,7 @@ dependencies:
|
|
|
263
278
|
version: 0.8.4
|
|
264
279
|
prerelease: false
|
|
265
280
|
name: prawn
|
|
266
|
-
version_requirements: *
|
|
281
|
+
version_requirements: *id017
|
|
267
282
|
description: Thumbnails images using httpthumbnailer and stored data on HTTP server (S3)
|
|
268
283
|
email: jpastuszek@gmail.com
|
|
269
284
|
executables:
|