httpimagestore 0.5.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +10 -12
- data/Gemfile.lock +57 -55
- data/README.md +829 -0
- data/VERSION +1 -1
- data/bin/httpimagestore +114 -180
- data/features/cache-control.feature +26 -90
- data/features/compatibility.feature +129 -0
- data/features/error-reporting.feature +207 -0
- data/features/health-check.feature +30 -0
- data/features/s3-store-and-thumbnail.feature +65 -0
- data/features/step_definitions/httpimagestore_steps.rb +66 -26
- data/features/support/env.rb +32 -5
- data/features/support/test.empty +0 -0
- data/httpimagestore.gemspec +60 -47
- data/lib/httpimagestore/aws_sdk_regions_hack.rb +23 -0
- data/lib/httpimagestore/configuration/file.rb +120 -0
- data/lib/httpimagestore/configuration/handler.rb +239 -0
- data/lib/httpimagestore/configuration/output.rb +119 -0
- data/lib/httpimagestore/configuration/path.rb +77 -0
- data/lib/httpimagestore/configuration/s3.rb +194 -0
- data/lib/httpimagestore/configuration/thumbnailer.rb +244 -0
- data/lib/httpimagestore/configuration.rb +126 -29
- data/lib/httpimagestore/error_reporter.rb +36 -0
- data/lib/httpimagestore/ruby_string_template.rb +26 -0
- data/load_test/load_test.1k.23a022f6e.m1.small-comp.csv +3 -0
- data/load_test/load_test.1k.ec9bde794.m1.small.csv +4 -0
- data/load_test/load_test.jmx +344 -0
- data/load_test/thumbnail_specs.csv +11 -0
- data/spec/configuration_file_spec.rb +309 -0
- data/spec/configuration_handler_spec.rb +124 -0
- data/spec/configuration_output_spec.rb +338 -0
- data/spec/configuration_path_spec.rb +92 -0
- data/spec/configuration_s3_spec.rb +571 -0
- data/spec/configuration_spec.rb +80 -105
- data/spec/configuration_thumbnailer_spec.rb +417 -0
- data/spec/ruby_string_template_spec.rb +43 -0
- data/spec/spec_helper.rb +61 -0
- data/spec/support/compute.jpg +0 -0
- data/spec/support/cuba_response_env.rb +40 -0
- data/spec/support/full.cfg +49 -0
- metadata +138 -84
- data/README.rdoc +0 -23
- data/features/httpimagestore.feature +0 -167
- data/lib/httpimagestore/image_path.rb +0 -54
- data/lib/httpimagestore/s3_service.rb +0 -37
- data/lib/httpimagestore/thumbnail_class.rb +0 -13
- data/spec/image_path_spec.rb +0 -72
- data/spec/test.cfg +0 -8
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
2
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
3
|
require 'rspec'
|
4
|
+
require 'httpclient'
|
5
|
+
require 'daemon'
|
4
6
|
|
5
7
|
# Requires supporting files with custom matchers and macros, etc,
|
6
8
|
# in ./support/ and its subdirectories.
|
@@ -9,3 +11,62 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
|
9
11
|
RSpec.configure do |config|
|
10
12
|
|
11
13
|
end
|
14
|
+
|
15
|
+
def support_dir
|
16
|
+
Pathname.new('spec/support')
|
17
|
+
end
|
18
|
+
|
19
|
+
def get(url)
|
20
|
+
HTTPClient.new.get_content(url)
|
21
|
+
end
|
22
|
+
|
23
|
+
def status(url)
|
24
|
+
HTTPClient.new.get(url).status
|
25
|
+
end
|
26
|
+
|
27
|
+
def headers(url)
|
28
|
+
HTTPClient.new.get(url).headers
|
29
|
+
end
|
30
|
+
|
31
|
+
def start_server(cmd, pid_file, log_file, test_url)
|
32
|
+
fork do
|
33
|
+
Daemon.daemonize(pid_file, log_file)
|
34
|
+
log_file = Pathname.new(log_file)
|
35
|
+
log_file.truncate(0) if log_file.exist?
|
36
|
+
exec(cmd)
|
37
|
+
end
|
38
|
+
return unless Process.wait2.last.exitstatus == 0
|
39
|
+
|
40
|
+
ppid = Process.pid
|
41
|
+
at_exit do
|
42
|
+
stop_server(pid_file) if Process.pid == ppid
|
43
|
+
end
|
44
|
+
|
45
|
+
Timeout.timeout(6) do
|
46
|
+
begin
|
47
|
+
get test_url
|
48
|
+
rescue Errno::ECONNREFUSED
|
49
|
+
sleep 0.1
|
50
|
+
retry
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def stop_server(pid_file)
|
56
|
+
pid_file = Pathname.new(pid_file)
|
57
|
+
return unless pid_file.exist?
|
58
|
+
|
59
|
+
pid = pid_file.read.strip.to_i
|
60
|
+
|
61
|
+
Timeout.timeout(20) do
|
62
|
+
begin
|
63
|
+
loop do
|
64
|
+
Process.kill("TERM", pid)
|
65
|
+
sleep 0.1
|
66
|
+
end
|
67
|
+
rescue Errno::ESRCH
|
68
|
+
pid_file.unlink
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
Binary file
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'unicorn-cuba-base/plugin/response_helpers'
|
2
|
+
class CubaResponseEnv
|
3
|
+
include Plugin::ResponseHelpers
|
4
|
+
|
5
|
+
class Response < Struct.new(:status, :data)
|
6
|
+
extend Forwardable
|
7
|
+
|
8
|
+
def initialize
|
9
|
+
super
|
10
|
+
@headers = {}
|
11
|
+
end
|
12
|
+
|
13
|
+
def write(data)
|
14
|
+
(self.data ||= '') << data
|
15
|
+
end
|
16
|
+
|
17
|
+
def_delegators :@headers, :[]=, :[]
|
18
|
+
end
|
19
|
+
|
20
|
+
class Request
|
21
|
+
class Body
|
22
|
+
def read
|
23
|
+
''
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def body
|
28
|
+
Body.new
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def initialize
|
33
|
+
@res = Response.new
|
34
|
+
@req = Request.new
|
35
|
+
end
|
36
|
+
|
37
|
+
attr_reader :res
|
38
|
+
attr_reader :req
|
39
|
+
end
|
40
|
+
|
@@ -0,0 +1,49 @@
|
|
1
|
+
s3 key="AKIAJMUYVYOSACNXLPTQ" secret="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"
|
2
|
+
|
3
|
+
path {
|
4
|
+
"uri" "#{path}"
|
5
|
+
"hash" "#{digest}.#{mimeextension}"
|
6
|
+
"hash-name" "#{digest}/#{imagename}.#{mimeextension}"
|
7
|
+
"structured" "#{dirname}/#{digest}/#{basename}.#{mimeextension}"
|
8
|
+
"structured-name" "#{dirname}/#{digest}/#{basename}-#{imagename}.#{mimeextension}"
|
9
|
+
}
|
10
|
+
|
11
|
+
put "thumbnail" ":name_list" {
|
12
|
+
thumbnail "input" {
|
13
|
+
"original" operation="limit" width=1080 height=1080 format="jpeg" quality=95
|
14
|
+
"small" operation="crop" width=128 height=128 format="jpeg" if-image-name-on="#{name_list}"
|
15
|
+
"padded" operation="pad" width=128 height=128 format="jpeg" background-color="gray" if-image-name-on="#{name_list}"
|
16
|
+
}
|
17
|
+
|
18
|
+
store_s3 "input" bucket="httpimagestoretest" path="hash" cache-control="public, max-age=31557600, s-maxage=0" public=true
|
19
|
+
store_s3 "original" bucket="httpimagestoretest-originals" path="hash"
|
20
|
+
store_s3 "small" bucket="httpimagestoretest" path="hash-name" cache-control="public, max-age=31557600, s-maxage=0" public=true if-image-name-on="#{name_list}"
|
21
|
+
store_s3 "padded" bucket="httpimagestoretest" path="hash-name" cache-control="public, max-age=31557600, s-maxage=0" public=true if-image-name-on="#{name_list}"
|
22
|
+
|
23
|
+
output_store_url {
|
24
|
+
"input"
|
25
|
+
"small" if-image-name-on="#{name_list}"
|
26
|
+
"padded" if-image-name-on="#{name_list}"
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
post "original" {
|
31
|
+
thumbnail "input" {
|
32
|
+
"original" operation="limit" width=1080 height=1080 format="jpeg" quality=95
|
33
|
+
}
|
34
|
+
|
35
|
+
store_s3 "original" bucket="rhoriginals" path="hash"
|
36
|
+
|
37
|
+
output_store_path "original"
|
38
|
+
}
|
39
|
+
|
40
|
+
get "thumbnail" "v1" ":operation" ":width" ":height" ":options" {
|
41
|
+
source_s3 "original" bucket="rhoriginals" path="uri"
|
42
|
+
|
43
|
+
thumbnail "original" {
|
44
|
+
"thumbnail" operation="#{operation}" width="#{width}" height="#{height}" options="#{options}" quality=84 format="jpeg"
|
45
|
+
}
|
46
|
+
|
47
|
+
output_image "thumbnail" cache-control="public, max-age=31557600, s-maxage=0"
|
48
|
+
}
|
49
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: httpimagestore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,110 +9,123 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-07-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
requirement:
|
15
|
+
name: unicorn-cuba-base
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
21
|
+
version: '1.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: mongrel
|
27
|
-
requirement: &70152801295320 !ruby/object:Gem::Requirement
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
25
|
none: false
|
29
26
|
requirements:
|
30
|
-
- -
|
27
|
+
- - ~>
|
31
28
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
33
|
-
type: :runtime
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: *70152801295320
|
29
|
+
version: '1.0'
|
36
30
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement:
|
31
|
+
name: httpthumbnailer-client
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
39
33
|
none: false
|
40
34
|
requirements:
|
41
35
|
- - ~>
|
42
36
|
- !ruby/object:Gem::Version
|
43
|
-
version: '0
|
37
|
+
version: '1.0'
|
44
38
|
type: :runtime
|
45
39
|
prerelease: false
|
46
|
-
version_requirements:
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: httpthumbnailer-client
|
49
|
-
requirement: &70152801292780 !ruby/object:Gem::Requirement
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
41
|
none: false
|
51
42
|
requirements:
|
52
43
|
- - ~>
|
53
44
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
type: :runtime
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: *70152801292780
|
45
|
+
version: '1.0'
|
58
46
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
requirement:
|
47
|
+
name: aws-sdk
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
61
49
|
none: false
|
62
50
|
requirements:
|
63
51
|
- - ~>
|
64
52
|
- !ruby/object:Gem::Version
|
65
|
-
version: '
|
53
|
+
version: '1.10'
|
66
54
|
type: :runtime
|
67
55
|
prerelease: false
|
68
|
-
version_requirements:
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: cli
|
71
|
-
requirement: &70152801290400 !ruby/object:Gem::Requirement
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
57
|
none: false
|
73
58
|
requirements:
|
74
59
|
- - ~>
|
75
60
|
- !ruby/object:Gem::Version
|
76
|
-
version: 1.
|
77
|
-
type: :runtime
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: *70152801290400
|
61
|
+
version: '1.10'
|
80
62
|
- !ruby/object:Gem::Dependency
|
81
63
|
name: mime-types
|
82
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
83
65
|
none: false
|
84
66
|
requirements:
|
85
67
|
- - ~>
|
86
68
|
- !ruby/object:Gem::Version
|
87
|
-
version: 1.17
|
69
|
+
version: '1.17'
|
88
70
|
type: :runtime
|
89
71
|
prerelease: false
|
90
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.17'
|
91
78
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
93
|
-
requirement:
|
79
|
+
name: sdl4r
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
94
81
|
none: false
|
95
82
|
requirements:
|
96
83
|
- - ~>
|
97
84
|
- !ruby/object:Gem::Version
|
98
|
-
version: '
|
85
|
+
version: '0.9'
|
99
86
|
type: :runtime
|
100
87
|
prerelease: false
|
101
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0.9'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: httpclient
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '2.3'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '2.3'
|
102
110
|
- !ruby/object:Gem::Dependency
|
103
111
|
name: rspec
|
104
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
105
113
|
none: false
|
106
114
|
requirements:
|
107
115
|
- - ~>
|
108
116
|
- !ruby/object:Gem::Version
|
109
|
-
version: 2.
|
117
|
+
version: '2.13'
|
110
118
|
type: :development
|
111
119
|
prerelease: false
|
112
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '2.13'
|
113
126
|
- !ruby/object:Gem::Dependency
|
114
127
|
name: cucumber
|
115
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
116
129
|
none: false
|
117
130
|
requirements:
|
118
131
|
- - ! '>='
|
@@ -120,32 +133,31 @@ dependencies:
|
|
120
133
|
version: '0'
|
121
134
|
type: :development
|
122
135
|
prerelease: false
|
123
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
124
142
|
- !ruby/object:Gem::Dependency
|
125
143
|
name: jeweler
|
126
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
127
145
|
none: false
|
128
146
|
requirements:
|
129
147
|
- - ~>
|
130
148
|
- !ruby/object:Gem::Version
|
131
|
-
version: 1.
|
149
|
+
version: 1.8.4
|
132
150
|
type: :development
|
133
151
|
prerelease: false
|
134
|
-
version_requirements:
|
135
|
-
- !ruby/object:Gem::Dependency
|
136
|
-
name: simplecov
|
137
|
-
requirement: &70152801301640 !ruby/object:Gem::Requirement
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
153
|
none: false
|
139
154
|
requirements:
|
140
|
-
- -
|
155
|
+
- - ~>
|
141
156
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
143
|
-
type: :development
|
144
|
-
prerelease: false
|
145
|
-
version_requirements: *70152801301640
|
157
|
+
version: 1.8.4
|
146
158
|
- !ruby/object:Gem::Dependency
|
147
159
|
name: rdoc
|
148
|
-
requirement:
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
149
161
|
none: false
|
150
162
|
requirements:
|
151
163
|
- - ~>
|
@@ -153,10 +165,15 @@ dependencies:
|
|
153
165
|
version: '3.9'
|
154
166
|
type: :development
|
155
167
|
prerelease: false
|
156
|
-
version_requirements:
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '3.9'
|
157
174
|
- !ruby/object:Gem::Dependency
|
158
175
|
name: daemon
|
159
|
-
requirement:
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
160
177
|
none: false
|
161
178
|
requirements:
|
162
179
|
- - ~>
|
@@ -164,29 +181,44 @@ dependencies:
|
|
164
181
|
version: '1'
|
165
182
|
type: :development
|
166
183
|
prerelease: false
|
167
|
-
version_requirements:
|
168
|
-
- !ruby/object:Gem::Dependency
|
169
|
-
name: httpthumbnailer
|
170
|
-
requirement: &70152801299680 !ruby/object:Gem::Requirement
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
171
185
|
none: false
|
172
186
|
requirements:
|
173
187
|
- - ~>
|
174
188
|
- !ruby/object:Gem::Version
|
175
|
-
version: '
|
176
|
-
type: :development
|
177
|
-
prerelease: false
|
178
|
-
version_requirements: *70152801299680
|
189
|
+
version: '1'
|
179
190
|
- !ruby/object:Gem::Dependency
|
180
191
|
name: prawn
|
181
|
-
requirement:
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
194
|
+
requirements:
|
195
|
+
- - '='
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: 0.8.4
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
182
201
|
none: false
|
183
202
|
requirements:
|
184
|
-
- - =
|
203
|
+
- - '='
|
185
204
|
- !ruby/object:Gem::Version
|
186
205
|
version: 0.8.4
|
206
|
+
- !ruby/object:Gem::Dependency
|
207
|
+
name: httpthumbnailer
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
210
|
+
requirements:
|
211
|
+
- - ! '>='
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
187
214
|
type: :development
|
188
215
|
prerelease: false
|
189
|
-
version_requirements:
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ! '>='
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
190
222
|
description: Thumbnails images using httpthumbnailer and stored data on HTTP server
|
191
223
|
(S3)
|
192
224
|
email: jpastuszek@gmail.com
|
@@ -195,33 +227,55 @@ executables:
|
|
195
227
|
extensions: []
|
196
228
|
extra_rdoc_files:
|
197
229
|
- LICENSE.txt
|
198
|
-
- README.
|
230
|
+
- README.md
|
199
231
|
files:
|
200
232
|
- .document
|
201
233
|
- .rspec
|
202
234
|
- Gemfile
|
203
235
|
- Gemfile.lock
|
204
236
|
- LICENSE.txt
|
205
|
-
- README.
|
237
|
+
- README.md
|
206
238
|
- Rakefile
|
207
239
|
- VERSION
|
208
240
|
- bin/httpimagestore
|
209
241
|
- features/cache-control.feature
|
210
|
-
- features/
|
242
|
+
- features/compatibility.feature
|
243
|
+
- features/error-reporting.feature
|
244
|
+
- features/health-check.feature
|
245
|
+
- features/s3-store-and-thumbnail.feature
|
211
246
|
- features/step_definitions/httpimagestore_steps.rb
|
212
247
|
- features/support/env.rb
|
213
248
|
- features/support/test-large.jpg
|
249
|
+
- features/support/test.empty
|
214
250
|
- features/support/test.jpg
|
215
251
|
- features/support/test.txt
|
216
252
|
- httpimagestore.gemspec
|
253
|
+
- lib/httpimagestore/aws_sdk_regions_hack.rb
|
217
254
|
- lib/httpimagestore/configuration.rb
|
218
|
-
- lib/httpimagestore/
|
219
|
-
- lib/httpimagestore/
|
220
|
-
- lib/httpimagestore/
|
255
|
+
- lib/httpimagestore/configuration/file.rb
|
256
|
+
- lib/httpimagestore/configuration/handler.rb
|
257
|
+
- lib/httpimagestore/configuration/output.rb
|
258
|
+
- lib/httpimagestore/configuration/path.rb
|
259
|
+
- lib/httpimagestore/configuration/s3.rb
|
260
|
+
- lib/httpimagestore/configuration/thumbnailer.rb
|
261
|
+
- lib/httpimagestore/error_reporter.rb
|
262
|
+
- lib/httpimagestore/ruby_string_template.rb
|
263
|
+
- load_test/load_test.1k.23a022f6e.m1.small-comp.csv
|
264
|
+
- load_test/load_test.1k.ec9bde794.m1.small.csv
|
265
|
+
- load_test/load_test.jmx
|
266
|
+
- load_test/thumbnail_specs.csv
|
267
|
+
- spec/configuration_file_spec.rb
|
268
|
+
- spec/configuration_handler_spec.rb
|
269
|
+
- spec/configuration_output_spec.rb
|
270
|
+
- spec/configuration_path_spec.rb
|
271
|
+
- spec/configuration_s3_spec.rb
|
221
272
|
- spec/configuration_spec.rb
|
222
|
-
- spec/
|
273
|
+
- spec/configuration_thumbnailer_spec.rb
|
274
|
+
- spec/ruby_string_template_spec.rb
|
223
275
|
- spec/spec_helper.rb
|
224
|
-
- spec/
|
276
|
+
- spec/support/compute.jpg
|
277
|
+
- spec/support/cuba_response_env.rb
|
278
|
+
- spec/support/full.cfg
|
225
279
|
homepage: http://github.com/jpastuszek/httpimagestore
|
226
280
|
licenses:
|
227
281
|
- MIT
|
@@ -237,7 +291,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
237
291
|
version: '0'
|
238
292
|
segments:
|
239
293
|
- 0
|
240
|
-
hash:
|
294
|
+
hash: 801711138329567989
|
241
295
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
242
296
|
none: false
|
243
297
|
requirements:
|
@@ -246,7 +300,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
246
300
|
version: '0'
|
247
301
|
requirements: []
|
248
302
|
rubyforge_project:
|
249
|
-
rubygems_version: 1.8.
|
303
|
+
rubygems_version: 1.8.25
|
250
304
|
signing_key:
|
251
305
|
specification_version: 3
|
252
306
|
summary: HTTP based image storage and thumbnailer
|
data/README.rdoc
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
= httpimagestore
|
2
|
-
|
3
|
-
Description goes here.
|
4
|
-
|
5
|
-
== Putting image with cURL
|
6
|
-
|
7
|
-
`curl -X PUT --data-binary @<image_file> -H "Content-Type: image/auto" <server>:<port>/thumbnail/<class_name>/<store_uri>`
|
8
|
-
|
9
|
-
== Contributing to httpimagestore
|
10
|
-
|
11
|
-
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
12
|
-
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
|
13
|
-
* Fork the project
|
14
|
-
* Start a feature/bugfix branch
|
15
|
-
* Commit and push until you are happy with your contribution
|
16
|
-
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
17
|
-
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
18
|
-
|
19
|
-
== Copyright
|
20
|
-
|
21
|
-
Copyright (c) 2011 Jakub Pastuszek. See LICENSE.txt for
|
22
|
-
further details.
|
23
|
-
|