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 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: