exifr 0.10.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ EXIF Reader 1.0.0
2
+ * bug fix; "ArgumentError: invalid byte sequence in UTF-8" when reading messy field using Ruby 1.9+
3
+ * enhancement; "[GH#4] more informative inspect for EXIFR::TIFF::Orientation instance"
4
+ * bug fix; "[GH#6] ERROR RuntimeError: can't add a new key into hash during iteration"; thanks to KISHIMOTO, Makoto
5
+
1
6
  EXIF Reader 0.10.9
2
7
  * bug fix; "[GH#1] user_comment returns nil for jpeg with UserComment"; thanks to Mark Lundquist
3
8
  * bug fix; "[GH#2] Nil pointer in tiff.rb"
@@ -21,4 +21,4 @@ EXIF Reader is a module to read metadata from JPEG and TIFF images.
21
21
  R.W. van 't Veer
22
22
 
23
23
  == Copyright
24
- Copyright (c) 2006, 2007, 2008, 2009 - R.W. van 't Veer
24
+ Copyright (c) 2006, 2007, 2008, 2009, 2010 - R.W. van 't Veer
data/Rakefile CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2006, 2007, 2008, 2009 - R.W. van 't Veer
1
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010 - R.W. van 't Veer
2
2
 
3
3
  require 'rake/rdoctask'
4
4
  require 'rake/testtask'
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2006, 2007, 2008, 2009 - R.W. van 't Veer
1
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010 - R.W. van 't Veer
2
2
 
3
3
  require 'jpeg'
4
4
  require 'tiff'
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2006, 2007, 2008, 2009 - R.W. van 't Veer
1
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010 - R.W. van 't Veer
2
2
 
3
3
  require 'stringio'
4
4
 
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2007, 2008, 2009 - R.W. van 't Veer
1
+ # Copyright (c) 2007, 2008, 2009, 2010 - R.W. van 't Veer
2
2
 
3
3
  require 'rational'
4
4
 
@@ -255,6 +255,11 @@ module EXIFR
255
255
  @value
256
256
  end
257
257
 
258
+ # Debugging output.
259
+ def inspect
260
+ "\#<EXIFR::TIFF::Orientation:#{@type}(#{@value})>"
261
+ end
262
+
258
263
  # Rotate and/or flip for proper viewing.
259
264
  def transform_rmagick(img)
260
265
  case @type
@@ -405,16 +410,15 @@ module EXIFR
405
410
  def height; image_length; end
406
411
 
407
412
  def to_hash
408
- @hash ||= begin
409
- result = @fields.dup
410
- result.delete_if { |key,value| value.nil? }
411
- result.each do |key,value|
412
- if IFD_TAGS.include? key
413
- result.merge!(value.to_hash)
414
- result.delete key
415
- end
413
+ @hash ||= @fields.map do |key,value|
414
+ if value.nil?
415
+ {}
416
+ elsif IFD_TAGS.include?(key)
417
+ value.to_hash
418
+ else
419
+ {key => value}
416
420
  end
417
- end
421
+ end.inject { |m,v| m.merge(v) } || {}
418
422
  end
419
423
 
420
424
  def inspect
@@ -459,7 +463,7 @@ module EXIFR
459
463
  # TODO handle signed bytes
460
464
  len, pack = count, proc { |d| d }
461
465
  when 2 # ascii
462
- len, pack = count, proc { |d| d.strip }
466
+ len, pack = count, proc { |d| d.unpack("A*") }
463
467
  when 3, 8 # short, signed short
464
468
  # TODO handle signed
465
469
  len, pack = count * 2, proc { |d| d.unpack(data.short + '*') }
@@ -467,7 +471,7 @@ module EXIFR
467
471
  # TODO handle signed
468
472
  len, pack = count * 4, proc { |d| d.unpack(data.long + '*') }
469
473
  when 7 # undefined
470
- # UserComment
474
+ # UserComment
471
475
  if @tag == 0x9286
472
476
  len, pack = count, proc { |d| d.strip }
473
477
  len -= 8 # reduce to account for first 8 bytes
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Copyright (c) 2006, 2007, 2008, 2009 - R.W. van 't Veer
3
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010 - R.W. van 't Veer
4
4
 
5
- require File.join(File.dirname(__FILE__), 'test_helper')
5
+ require 'test_helper'
6
6
 
7
7
  class JPEGTest < Test::Unit::TestCase
8
8
  def test_initialize
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Copyright (c) 2006, 2007, 2008, 2009 - R.W. van 't Veer
3
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010 - R.W. van 't Veer
4
4
 
5
5
  require 'test/unit'
6
6
  require 'stringio'
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Copyright (c) 2006, 2007, 2008, 2009 - R.W. van 't Veer
3
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010 - R.W. van 't Veer
4
4
 
5
- require File.join(File.dirname(__FILE__), 'test_helper')
5
+ require 'test_helper'
6
6
 
7
7
  class TIFFTest < Test::Unit::TestCase
8
8
  def setup
@@ -162,11 +162,11 @@ class TIFFTest < Test::Unit::TestCase
162
162
  TIFF.new(f('endless-loop.exif'))
163
163
  assert true
164
164
  end
165
-
165
+
166
166
  def test_user_comment
167
167
  assert_equal "Manassas Battlefield", TIFF.new(f('user-comment.exif')).user_comment
168
168
  end
169
-
169
+
170
170
  def test_handle_out_of_range_offset
171
171
  assert_nothing_raised do
172
172
  assert 'NIKON', TIFF.new(f('out-of-range.exif')).make
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exifr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.9
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - R.W. van 't Veer
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-10 00:00:00 +01:00
12
+ date: 2010-04-07 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  requirements: []
79
79
 
80
80
  rubyforge_project:
81
- rubygems_version: 1.3.4
81
+ rubygems_version: 1.3.5
82
82
  signing_key:
83
83
  specification_version: 3
84
84
  summary: EXIF Reader is a module to read EXIF from JPEG images.