image_voodoo 0.3 → 0.4

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/bin/image_voodoo CHANGED
@@ -40,7 +40,7 @@ opts = OptionParser.new do |opts|
40
40
  actions << lambda {|img| img.adjust_brightness(scale, offset) }
41
41
  end
42
42
 
43
- opts.on("-B" "--border WIDTH,COLOR,STYLE", "Add a simple border") do |args|
43
+ opts.on("-B", "--border WIDTH,COLOR,STYLE", "Add a simple border") do |args|
44
44
  width, color, style = args.split(/\,/i)
45
45
  options = {:width => width, :color => color, :style => style }
46
46
 
data/lib/image_voodoo.rb CHANGED
@@ -123,12 +123,8 @@ class ImageVoodoo
123
123
  l, r = half, half + height if width > height
124
124
  t, b = half, half + width if height > width
125
125
 
126
- with_crop(l, t, r, b) do |image|
127
- image.thumbnail(size) do |thumb|
128
- target = ImageVoodoo.new target
129
- block_given? ? yield(target) : target
130
- end
131
- end
126
+ target = with_crop(l, t, r, b).thumbnail(size)
127
+ block_given? ? yield(target) : target
132
128
  end
133
129
 
134
130
  #
@@ -212,10 +208,8 @@ class ImageVoodoo
212
208
  def scale(ratio)
213
209
  new_width, new_height = (width * ratio).to_i, (height * ratio).to_i
214
210
 
215
- resize(new_width, new_height) do |image|
216
- target = ImageVoodoo.new image
217
- block_given? ? yield(target) : target
218
- end
211
+ target = resize(new_width, new_height)
212
+ block_given? ? yield(target) : target
219
213
  end
220
214
 
221
215
  #
@@ -223,7 +217,8 @@ class ImageVoodoo
223
217
  # edge is resized to size and yields/returns the new image.
224
218
  #
225
219
  def thumbnail(size)
226
- scale(size.to_f / (width > height ? width : height))
220
+ target = scale(size.to_f / (width > height ? width : height))
221
+ block_given? ? yield(target) : target
227
222
  end
228
223
 
229
224
  #
@@ -303,12 +298,10 @@ class ImageVoodoo
303
298
  # A top-level image loader opens path and then yields/returns the image.
304
299
  #
305
300
  def self.with_image(file)
306
- readers = ImageIO.getImageReadersBySuffix(File.extname(file)[1..-1])
307
- raise TypeError, "unrecognized format for #{file}" unless readers.hasNext
308
- image = ImageVoodoo.new ImageIO.read(JFile.new(file))
309
- block_given? ? yield(image) : image
310
- rescue NativeException => ne
311
- nil
301
+ raise ArgumentError, "file does not exist" unless File.file?(file)
302
+ buffered_image = ImageIO.read(JFile.new(file))
303
+ image = ImageVoodoo.new(buffered_image) if buffered_image
304
+ image && block_given? ? yield(image) : image
312
305
  end
313
306
 
314
307
  #
@@ -1,3 +1,3 @@
1
1
  class ImageVoodoo
2
- VERSION = "0.3"
2
+ VERSION = "0.4"
3
3
  end
@@ -33,7 +33,7 @@ class TestImageScience < Test::Unit::TestCase
33
33
  end
34
34
 
35
35
  def test_class_with_image_missing
36
- assert_raises TypeError do
36
+ assert_raises ArgumentError do
37
37
  ImageScience.with_image @path + "nope" do |img|
38
38
  flunk
39
39
  end
@@ -41,7 +41,16 @@ class TestImageScience < Test::Unit::TestCase
41
41
  end
42
42
 
43
43
  def test_class_with_image_missing_with_img_extension
44
- assert_nil ImageScience.with_image("nope#{@path}") do |img|
44
+ assert_raises ArgumentError do
45
+ ImageScience.with_image("nope#{@path}") do |img|
46
+ flunk
47
+ end
48
+ end
49
+ end
50
+
51
+ def test_class_with_image_return_nil_on_bogus_image
52
+ File.open(@tmppath, "w") {|f| f << "bogus image file"}
53
+ assert_nil ImageScience.with_image(@tmppath) do |img|
45
54
  flunk
46
55
  end
47
56
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: image_voodoo
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.3"
4
+ version: "0.4"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Enebo, Charles Nutter and JRuby contributors
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-06-23 00:00:00 -05:00
12
+ date: 2008-07-28 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies: []
15
15