httpimagestore 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
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
1
+ 0.2.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "httpimagestore"
8
- s.version = "0.2.1"
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-10"
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
- file.save
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: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 1
10
- version: 0.2.1
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-10 00:00:00 Z
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: :development
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: *id008
160
+ version_requirements: *id009
146
161
  - !ruby/object:Gem::Dependency
147
162
  type: :development
148
- requirement: &id009 !ruby/object:Gem::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: *id009
174
+ version_requirements: *id010
160
175
  - !ruby/object:Gem::Dependency
161
176
  type: :development
162
- requirement: &id010 !ruby/object:Gem::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: *id010
190
+ version_requirements: *id011
176
191
  - !ruby/object:Gem::Dependency
177
192
  type: :development
178
- requirement: &id011 !ruby/object:Gem::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: *id011
206
+ version_requirements: *id012
192
207
  - !ruby/object:Gem::Dependency
193
208
  type: :development
194
- requirement: &id012 !ruby/object:Gem::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: *id012
220
+ version_requirements: *id013
206
221
  - !ruby/object:Gem::Dependency
207
222
  type: :development
208
- requirement: &id013 !ruby/object:Gem::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: *id013
235
+ version_requirements: *id014
221
236
  - !ruby/object:Gem::Dependency
222
237
  type: :development
223
- requirement: &id014 !ruby/object:Gem::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: *id014
249
+ version_requirements: *id015
235
250
  - !ruby/object:Gem::Dependency
236
251
  type: :development
237
- requirement: &id015 !ruby/object:Gem::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: *id015
265
+ version_requirements: *id016
251
266
  - !ruby/object:Gem::Dependency
252
267
  type: :development
253
- requirement: &id016 !ruby/object:Gem::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: *id016
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: