exifr 0.10.9 → 1.0.0

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/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.