httpthumbnailer 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -4,6 +4,8 @@ gem "sinatra", ">= 1.2.6"
4
4
  gem "mongrel", ">= 1.1.5"
5
5
  gem "rmagick", "~> 2"
6
6
  gem "haml", "~> 3"
7
+ gem "fcgi", "~> 0.8"
8
+ gem "cli", "~> 0.0"
7
9
 
8
10
  # Add dependencies to develop your gem here.
9
11
  # Include everything needed to run rake, tests, features, etc.
data/Gemfile.lock CHANGED
@@ -3,6 +3,7 @@ GEM
3
3
  specs:
4
4
  builder (3.0.0)
5
5
  cgi_multipart_eof_fix (2.5.0)
6
+ cli (0.0.2)
6
7
  cucumber (1.1.2)
7
8
  builder (>= 2.1.2)
8
9
  diff-lcs (>= 1.1.2)
@@ -13,6 +14,7 @@ GEM
13
14
  daemons (1.1.4)
14
15
  diff-lcs (1.1.3)
15
16
  fastthread (1.0.7)
17
+ fcgi (0.8.8)
16
18
  gem_plugin (0.2.3)
17
19
  gherkin (2.6.5)
18
20
  json (>= 1.4.6)
@@ -56,8 +58,10 @@ PLATFORMS
56
58
 
57
59
  DEPENDENCIES
58
60
  bundler (~> 1.0.0)
61
+ cli (~> 0.0)
59
62
  cucumber
60
63
  daemon (~> 1)
64
+ fcgi (~> 0.8)
61
65
  haml (~> 3)
62
66
  httpclient (~> 2.2)
63
67
  jeweler (~> 1.6.4)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.8
data/bin/httpthumbnailer CHANGED
@@ -1,5 +1,16 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
+ require 'cli'
4
+ options = CLI.new do
5
+ description 'HTTP thumbnailing server'
6
+ option :bind, :short => :b, :default => 'localhost', :description => "HTTP server bind address"
7
+ option :port, :short => :p, :default => 3100, :cast => Integer, :description => "HTTP server TCP port"
8
+ option :server, :short => :s, :default => 'mongrel', :description => "Rack server handler like thin, mongrel, webrick, fastcgi etc."
9
+ option :limit_memory, :default => 128*1024**2, :cast => Integer, :description => "Image cache heap memory size limit in bytes"
10
+ option :limit_map, :default => 256*1024**2, :cast => Integer, :description => "Image cache memory mapped file size limit in bytes - used when heap memory limit is used up"
11
+ option :limit_disk, :default => 0, :cast => Integer, :description => "Image cache temporary file size limit in bytes - used when memory mapped file limit is used up"
12
+ end.parse!
13
+
3
14
  require 'sinatra/base'
4
15
  require 'haml'
5
16
  require 'RMagick'
@@ -10,17 +21,17 @@ require 'httpthumbnailer/thumbnail_specs'
10
21
 
11
22
  sinatra = Sinatra.new
12
23
 
13
- sinatra.set :port, 3100
14
- sinatra.set :bind, 'localhost'
24
+ sinatra.set :port, options.port
25
+ sinatra.set :bind, options.bind
15
26
  sinatra.set :environment, 'production'
16
- sinatra.set :server, ['mongrel']
27
+ sinatra.set :server, options.server
17
28
  sinatra.set :lock, true
18
29
  sinatra.set :boundary, "thumnail image data"
19
30
  sinatra.set :logging, true
20
31
  sinatra.set :debug, true
21
- sinatra.set :limit_memory, 128*10**6 # B (keep in mem)
22
- sinatra.set :limit_map, 256*10**6 # B (if not fit in mem, map to disk)
23
- sinatra.set :limit_disk, 0 # B (if not fit in map use standard IO)
32
+ sinatra.set :limit_memory, options.limit_memory
33
+ sinatra.set :limit_map, options.limit_map
34
+ sinatra.set :limit_disk, options.limit_disk
24
35
 
25
36
  sinatra.before do
26
37
  logger.level = Logger::DEBUG if settings.debug == true
@@ -116,10 +127,5 @@ sinatra.error do
116
127
  plain_exception(env['sinatra.error'])
117
128
  end
118
129
 
119
- begin
120
- sinatra.run!
121
- rescue Errno::EACCES, Errno::EADDRNOTAVAIL, SocketError => e
122
- puts "Error: failed to bind HTTP server socket (#{options[:bind]}): #{e}"
123
- exit 5
124
- end
130
+ sinatra.run!
125
131
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "httpthumbnailer"
8
- s.version = "0.0.7"
8
+ s.version = "0.0.8"
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 = "2011-11-30"
12
+ s.date = "2011-12-01"
13
13
  s.description = "Provides HTTP API for thumbnailing images"
14
14
  s.email = "jpastuszek@gmail.com"
15
15
  s.executables = ["httpthumbnailer"]
@@ -57,6 +57,8 @@ Gem::Specification.new do |s|
57
57
  s.add_runtime_dependency(%q<mongrel>, [">= 1.1.5"])
58
58
  s.add_runtime_dependency(%q<rmagick>, ["~> 2"])
59
59
  s.add_runtime_dependency(%q<haml>, ["~> 3"])
60
+ s.add_runtime_dependency(%q<fcgi>, ["~> 0.8"])
61
+ s.add_runtime_dependency(%q<cli>, ["~> 0.0"])
60
62
  s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
61
63
  s.add_development_dependency(%q<cucumber>, [">= 0"])
62
64
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -70,6 +72,8 @@ Gem::Specification.new do |s|
70
72
  s.add_dependency(%q<mongrel>, [">= 1.1.5"])
71
73
  s.add_dependency(%q<rmagick>, ["~> 2"])
72
74
  s.add_dependency(%q<haml>, ["~> 3"])
75
+ s.add_dependency(%q<fcgi>, ["~> 0.8"])
76
+ s.add_dependency(%q<cli>, ["~> 0.0"])
73
77
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
74
78
  s.add_dependency(%q<cucumber>, [">= 0"])
75
79
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -84,6 +88,8 @@ Gem::Specification.new do |s|
84
88
  s.add_dependency(%q<mongrel>, [">= 1.1.5"])
85
89
  s.add_dependency(%q<rmagick>, ["~> 2"])
86
90
  s.add_dependency(%q<haml>, ["~> 3"])
91
+ s.add_dependency(%q<fcgi>, ["~> 0.8"])
92
+ s.add_dependency(%q<cli>, ["~> 0.0"])
87
93
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
88
94
  s.add_dependency(%q<cucumber>, [">= 0"])
89
95
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpthumbnailer
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 7
10
- version: 0.0.7
9
+ - 8
10
+ version: 0.0.8
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: 2011-11-30 00:00:00 Z
18
+ date: 2011-12-01 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  type: :runtime
@@ -78,8 +78,38 @@ dependencies:
78
78
  name: haml
79
79
  version_requirements: *id004
80
80
  - !ruby/object:Gem::Dependency
81
- type: :development
81
+ type: :runtime
82
82
  requirement: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ hash: 27
88
+ segments:
89
+ - 0
90
+ - 8
91
+ version: "0.8"
92
+ prerelease: false
93
+ name: fcgi
94
+ version_requirements: *id005
95
+ - !ruby/object:Gem::Dependency
96
+ type: :runtime
97
+ requirement: &id006 !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ~>
101
+ - !ruby/object:Gem::Version
102
+ hash: 11
103
+ segments:
104
+ - 0
105
+ - 0
106
+ version: "0.0"
107
+ prerelease: false
108
+ name: cli
109
+ version_requirements: *id006
110
+ - !ruby/object:Gem::Dependency
111
+ type: :development
112
+ requirement: &id007 !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ~>
@@ -92,10 +122,10 @@ dependencies:
92
122
  version: 2.3.0
93
123
  prerelease: false
94
124
  name: rspec
95
- version_requirements: *id005
125
+ version_requirements: *id007
96
126
  - !ruby/object:Gem::Dependency
97
127
  type: :development
98
- requirement: &id006 !ruby/object:Gem::Requirement
128
+ requirement: &id008 !ruby/object:Gem::Requirement
99
129
  none: false
100
130
  requirements:
101
131
  - - ">="
@@ -106,10 +136,10 @@ dependencies:
106
136
  version: "0"
107
137
  prerelease: false
108
138
  name: cucumber
109
- version_requirements: *id006
139
+ version_requirements: *id008
110
140
  - !ruby/object:Gem::Dependency
111
141
  type: :development
112
- requirement: &id007 !ruby/object:Gem::Requirement
142
+ requirement: &id009 !ruby/object:Gem::Requirement
113
143
  none: false
114
144
  requirements:
115
145
  - - ~>
@@ -122,10 +152,10 @@ dependencies:
122
152
  version: 1.0.0
123
153
  prerelease: false
124
154
  name: bundler
125
- version_requirements: *id007
155
+ version_requirements: *id009
126
156
  - !ruby/object:Gem::Dependency
127
157
  type: :development
128
- requirement: &id008 !ruby/object:Gem::Requirement
158
+ requirement: &id010 !ruby/object:Gem::Requirement
129
159
  none: false
130
160
  requirements:
131
161
  - - ~>
@@ -138,10 +168,10 @@ dependencies:
138
168
  version: 1.6.4
139
169
  prerelease: false
140
170
  name: jeweler
141
- version_requirements: *id008
171
+ version_requirements: *id010
142
172
  - !ruby/object:Gem::Dependency
143
173
  type: :development
144
- requirement: &id009 !ruby/object:Gem::Requirement
174
+ requirement: &id011 !ruby/object:Gem::Requirement
145
175
  none: false
146
176
  requirements:
147
177
  - - ">="
@@ -152,10 +182,10 @@ dependencies:
152
182
  version: "0"
153
183
  prerelease: false
154
184
  name: rcov
155
- version_requirements: *id009
185
+ version_requirements: *id011
156
186
  - !ruby/object:Gem::Dependency
157
187
  type: :development
158
- requirement: &id010 !ruby/object:Gem::Requirement
188
+ requirement: &id012 !ruby/object:Gem::Requirement
159
189
  none: false
160
190
  requirements:
161
191
  - - ~>
@@ -166,10 +196,10 @@ dependencies:
166
196
  version: "1"
167
197
  prerelease: false
168
198
  name: daemon
169
- version_requirements: *id010
199
+ version_requirements: *id012
170
200
  - !ruby/object:Gem::Dependency
171
201
  type: :development
172
- requirement: &id011 !ruby/object:Gem::Requirement
202
+ requirement: &id013 !ruby/object:Gem::Requirement
173
203
  none: false
174
204
  requirements:
175
205
  - - ~>
@@ -181,10 +211,10 @@ dependencies:
181
211
  version: "2.2"
182
212
  prerelease: false
183
213
  name: httpclient
184
- version_requirements: *id011
214
+ version_requirements: *id013
185
215
  - !ruby/object:Gem::Dependency
186
216
  type: :development
187
- requirement: &id012 !ruby/object:Gem::Requirement
217
+ requirement: &id014 !ruby/object:Gem::Requirement
188
218
  none: false
189
219
  requirements:
190
220
  - - ~>
@@ -196,7 +226,7 @@ dependencies:
196
226
  version: "3.9"
197
227
  prerelease: false
198
228
  name: rdoc
199
- version_requirements: *id012
229
+ version_requirements: *id014
200
230
  description: Provides HTTP API for thumbnailing images
201
231
  email: jpastuszek@gmail.com
202
232
  executables: