httpthumbnailer-client 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -12,5 +12,5 @@ group :development do
12
12
  gem "rcov", ">= 0"
13
13
  gem "rdoc", "~> 3.9"
14
14
  gem "daemon", "~> 1"
15
- gem "httpthumbnailer", "~> 0.0.7"
15
+ gem "httpthumbnailer", "~> 0.1.0"
16
16
  end
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 (1.1.0)
6
7
  cucumber (1.1.3)
7
8
  builder (>= 2.1.2)
8
9
  diff-lcs (>= 1.1.2)
@@ -19,10 +20,12 @@ GEM
19
20
  git (1.2.5)
20
21
  haml (3.1.4)
21
22
  httpclient (2.2.3)
22
- httpthumbnailer (0.0.7)
23
+ httpthumbnailer (0.1.0)
24
+ cli (~> 1.1.0)
23
25
  haml (~> 3)
24
26
  mongrel (>= 1.1.5)
25
27
  rmagick (~> 2)
28
+ ruby-ip (~> 0.9)
26
29
  sinatra (>= 1.2.6)
27
30
  jeweler (1.6.4)
28
31
  bundler (~> 1.0)
@@ -49,6 +52,7 @@ GEM
49
52
  rspec-expectations (2.3.0)
50
53
  diff-lcs (~> 1.1.2)
51
54
  rspec-mocks (2.3.0)
55
+ ruby-ip (0.9.1)
52
56
  sinatra (1.3.1)
53
57
  rack (~> 1.3, >= 1.3.4)
54
58
  rack-protection (~> 1.1, >= 1.1.2)
@@ -64,7 +68,7 @@ DEPENDENCIES
64
68
  cucumber
65
69
  daemon (~> 1)
66
70
  httpclient (>= 2.2.1)
67
- httpthumbnailer (~> 0.0.7)
71
+ httpthumbnailer (~> 0.1.0)
68
72
  jeweler (~> 1.6.4)
69
73
  rcov
70
74
  rdoc (~> 3.9)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.3
1
+ 0.1.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "httpthumbnailer-client"
8
- s.version = "0.0.3"
8
+ s.version = "0.1.0"
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 = "2012-01-04"
13
13
  s.description = "Thumbnails images using httpthumbniler server"
14
14
  s.email = "jpastuszek@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -55,7 +55,7 @@ Gem::Specification.new do |s|
55
55
  s.add_development_dependency(%q<rcov>, [">= 0"])
56
56
  s.add_development_dependency(%q<rdoc>, ["~> 3.9"])
57
57
  s.add_development_dependency(%q<daemon>, ["~> 1"])
58
- s.add_development_dependency(%q<httpthumbnailer>, ["~> 0.0.7"])
58
+ s.add_development_dependency(%q<httpthumbnailer>, ["~> 0.1.0"])
59
59
  else
60
60
  s.add_dependency(%q<httpclient>, [">= 2.2.1"])
61
61
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
@@ -65,7 +65,7 @@ Gem::Specification.new do |s|
65
65
  s.add_dependency(%q<rcov>, [">= 0"])
66
66
  s.add_dependency(%q<rdoc>, ["~> 3.9"])
67
67
  s.add_dependency(%q<daemon>, ["~> 1"])
68
- s.add_dependency(%q<httpthumbnailer>, ["~> 0.0.7"])
68
+ s.add_dependency(%q<httpthumbnailer>, ["~> 0.1.0"])
69
69
  end
70
70
  else
71
71
  s.add_dependency(%q<httpclient>, [">= 2.2.1"])
@@ -76,7 +76,7 @@ Gem::Specification.new do |s|
76
76
  s.add_dependency(%q<rcov>, [">= 0"])
77
77
  s.add_dependency(%q<rdoc>, ["~> 3.9"])
78
78
  s.add_dependency(%q<daemon>, ["~> 1"])
79
- s.add_dependency(%q<httpthumbnailer>, ["~> 0.0.7"])
79
+ s.add_dependency(%q<httpthumbnailer>, ["~> 0.1.0"])
80
80
  end
81
81
  end
82
82
 
@@ -54,6 +54,10 @@ class HTTPThumbnailerClient
54
54
  attr_reader :mime_type, :data
55
55
  end
56
56
 
57
+ module ThumbnailsInputMimeTypeMeta
58
+ attr_accessor :input_mime_type
59
+ end
60
+
57
61
  class ThumbnailingError
58
62
  def initialize(msg)
59
63
  @message = msg
@@ -83,7 +87,7 @@ class HTTPThumbnailerClient
83
87
  raise RemoteServerError, response.body.delete("\r")
84
88
  end
85
89
  when /^multipart\/mixed/
86
- MultipartResponse.new(content_type, response.body).parts.map do |part|
90
+ thumbnails = MultipartResponse.new(content_type, response.body).parts.map do |part|
87
91
  part_content_type = part.header['Content-Type']
88
92
 
89
93
  case part_content_type
@@ -95,6 +99,13 @@ class HTTPThumbnailerClient
95
99
  raise UnknownResponseType, part_content_type
96
100
  end
97
101
  end
102
+
103
+ unless response.header['X-Input-Image-Content-Type'].empty?
104
+ thumbnails.extend(ThumbnailsInputMimeTypeMeta)
105
+ thumbnails.input_mime_type = response.header['X-Input-Image-Content-Type'].first
106
+ end
107
+
108
+ return thumbnails
98
109
  else
99
110
  raise UnknownResponseType, content_type
100
111
  end
@@ -57,6 +57,15 @@ describe HTTPThumbnailerClient do
57
57
  i.height.should == 4
58
58
  end
59
59
 
60
+ describe "meta data" do
61
+ it "should provide input image mime type" do
62
+ thumbs = HTTPThumbnailerClient.new('http://localhost:3100').thumbnail((spec_dir + 'test.jpg').read) do
63
+ thumbnail 'crop', 6, 3, 'JPEG'
64
+ end
65
+ thumbs.input_mime_type.should == 'image/jpeg'
66
+ end
67
+ end
68
+
60
69
  it "should raise HTTPThumbnailerClient::UnsupportedMediaTypeError error on unsupported media type" do
61
70
  lambda {
62
71
  HTTPThumbnailerClient.new('http://localhost:3100').thumbnail((spec_dir + 'test.txt').read) do
@@ -70,7 +79,7 @@ describe HTTPThumbnailerClient do
70
79
  lambda {
71
80
  HTTPThumbnailerClient.new('http://localhost:3100').thumbnail((spec_dir + 'test-large.jpg').read) do
72
81
  thumbnail 'crop', 6, 3, 'JPEG'
73
- thumbnail 'crop', 8, 8, 'PNG'
82
+ thumbnail 'crop', 7000, 7000, 'PNG'
74
83
  end
75
84
  }.should raise_error HTTPThumbnailerClient::ImageTooLargeError
76
85
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpthumbnailer-client
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
+ - 1
8
9
  - 0
9
- - 3
10
- version: 0.0.3
10
+ version: 0.1.0
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: 2012-01-04 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  type: :runtime
@@ -145,12 +145,12 @@ dependencies:
145
145
  requirements:
146
146
  - - ~>
147
147
  - !ruby/object:Gem::Version
148
- hash: 17
148
+ hash: 27
149
149
  segments:
150
150
  - 0
151
+ - 1
151
152
  - 0
152
- - 7
153
- version: 0.0.7
153
+ version: 0.1.0
154
154
  prerelease: false
155
155
  name: httpthumbnailer
156
156
  version_requirements: *id009