httpthumbnailer 0.0.7 → 0.0.8

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