mini_exiftool 2.9.1 → 2.10.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9155fb65753a3a7afec540dc62c9581c2f70056b1812e52bbf2d3312d4cc9450
4
- data.tar.gz: f6553477f4adb5b0e876ec60d5f70eaa32127f083dfdc5608312eb6929fd1c03
3
+ metadata.gz: 29f066192f7a6aa306be4a975177eb121f1f36ae54657bce8fba3eb03d3b6b4b
4
+ data.tar.gz: 19c32968ea26a447921d9c964e365a38c8d46bee90b85aadcd1886b7ffae9364
5
5
  SHA512:
6
- metadata.gz: 18b3388e4e0449701228a31c7cc669e5545b46baef1233eeedd4a19dba09408c3254fb8f64ba0288a2a5760bf59e8f1020ac8c162f62b634f11d7591ace2b5e3
7
- data.tar.gz: 7de184378b9a27ae702b3d71b127821188180a80c586996f05f85c7ba51bd918c51075ede14551131dc284a52e8c59fd86226945cd5c54b9e2c34a88f2ac0db7
6
+ metadata.gz: 878d604908cc91deec045336c011520e4647e4c66f5d85ed1089b2daae8d1a04cdbc9c6c3e60bdbc0906f8878680fe5d18c81a73ce350ba05087ba1cdf3b9ce2
7
+ data.tar.gz: b3461aaececc3c7a4e5dd57160300eee2fa6a027d6fd976bc9328ef4bcf3673e5e7615fa2d556caa1e37474c9de8a920054927eaedb61a5a785b511e2b2e44a6
@@ -1,115 +1,119 @@
1
- personal_ws-1.1 en 114
2
- Stjernstrom
3
- iptc
4
- README
5
- releating
6
- Gemfile
7
- Friedrich
8
- echoe
1
+ personal_ws-1.1 en 118
2
+ Barushev
3
+ Bugfix
9
4
  CaptionAbstract
10
- encodings
11
- stderr
5
+ CodedCharacterSet
12
6
  Cypriano
7
+ DYNAX
8
+ DateTime
9
+ DateTimeOriginal
10
+ Dungan
11
+ ExifTool
12
+ FNumber
13
13
  Fixnum
14
- JPEGs
14
+ Forwardable
15
+ Friedrich
16
+ GPS
17
+ Gaelan
18
+ Gemfile
19
+ Gieseler
15
20
  Gitorious
16
- neccessary
17
- jpg
18
- Soika
19
- rdoc
20
- ccoenen
21
- gemspec
21
+ Henning
22
+ Hinrich
23
+ Horrocks
24
+ Hoy
25
+ JPEG
26
+ JPEGs
27
+ Joshfindit
28
+ J�rome
29
+ Krogmann
22
30
  Kulander
23
- exif
31
+ MacRoman
32
+ MiniExiftool
33
+ MultiExiftool
34
+ OO
35
+ POSIX
36
+ PStore
37
+ Picturelife
38
+ README
39
+ Rau
40
+ Refactoring
41
+ Regexes
42
+ Romahn
43
+ Salzberg
44
+ SemVer
45
+ SemVerTag
46
+ Soika
47
+ Soutar
48
+ StandardError
49
+ Stjernstrom
24
50
  SubjectLocation
25
- FNumber
51
+ SupplementalCategories
52
+ Tempfile
53
+ TestEscapeFilename
54
+ UTF
55
+ Wil
56
+ acki
57
+ aiff
58
+ atomar
59
+ bundler
60
+ ccoenen
61
+ cgat
62
+ charset
63
+ commandline
64
+ coord
65
+ customizable
66
+ darwin
67
+ datetimeoriginal
26
68
  dir
27
- popen
69
+ echoe
70
+ encod
71
+ encodings
72
+ exif
73
+ exiftool
74
+ filename
75
+ filenames
76
+ gemspec
77
+ github
78
+ gras
79
+ icc
28
80
  io
29
- multi
30
- JPEG
31
- yaml
32
- mfo
33
- coord
81
+ iptc
82
+ jpg
83
+ json
34
84
  md
35
- Tempfile
36
- warings
37
- Gaelan
38
- atomar
39
- Regexes
85
+ metadata
86
+ mfo
40
87
  mie
41
- �ml�uts
42
- CodedCharacterSet
43
- commandline
44
- TestEscapeFilename
45
- robotmay
88
+ multi
89
+ neccessary
46
90
  params
47
- Soutar
48
- metadata
49
- filename
50
- OO
91
+ pdf
92
+ photoshop
93
+ png
94
+ popen
95
+ prerelease
96
+ pstore
97
+ ptore
98
+ quicktime
51
99
  rb
100
+ rdoc
101
+ refactorings
102
+ regtest
103
+ releating
104
+ robotmay
105
+ rubyforge
106
+ shellwords
107
+ shioyama
108
+ stderr
52
109
  stdout
53
- ExifTool
54
- exiftool
55
- prerelease
56
110
  str
57
- Henning
58
- SupplementalCategories
59
- Krogmann
60
111
  timestamps
61
- encod
62
- bundler
63
- Picturelife
64
- cgat
65
- Hinrich
66
- DYNAX
67
- gras
68
- yardopts
69
- Barushev
70
- aiff
71
- pdf
72
- MacRoman
73
- DateTime
74
- refactorings
75
- ptore
76
- ws
77
- icc
78
- Gieseler
79
- UTF
80
- Wil
81
- shioyama
82
- Joshfindit
83
- StandardError
84
- Dungan
85
- Romahn
86
112
  uwe
87
- MiniExiftool
88
- filenames
89
- POSIX
90
- darwin
91
- GPS
92
- quicktime
93
- DateTimeOriginal
94
- datetimeoriginal
95
- pstore
96
- PStore
97
- shellwords
98
- Rau
99
- photoshop
100
- png
101
- charset
102
- rubyforge
103
- github
104
113
  vorbis
105
- Refactoring
106
- Bugfix
114
+ warings
115
+ ws
107
116
  xmp
108
- J�rome
109
- Horrocks
110
- acki
111
- Salzberg
112
- Hoy
113
- customizable
114
- regtest
115
- json
117
+ yaml
118
+ yardopts
119
+ �ml�uts
data/Changelog CHANGED
@@ -1,10 +1,14 @@
1
+ 2.10.0
2
+ - Implement the method MiniExiftool#respond_to_missing? for completeness and
3
+ the possibility to use MiniExiftool with Forwardable.
4
+
1
5
  2.9.1
2
- Fix a problem with frozen string in newer Ruby versions.
3
- Improve internal stuff and documentation.
6
+ - Fix a problem with frozen string in newer Ruby versions.
7
+ - Improve internal stuff and documentation.
4
8
 
5
9
  2.9.0
6
- Use rim/regtest instead of regtest/task to include regtest files into gem.
7
- Update to rim 2.15 to include Gemfile and other stuff into gem file.
10
+ - Use rim/regtest instead of regtest/task to include regtest files into gem.
11
+ - Update to rim 2.15 to include Gemfile and other stuff into gem file.
8
12
 
9
13
  2.8.2
10
14
  - Upgrade to rim 2.10.0 to unfreeze gemspec.
data/README.md CHANGED
@@ -171,11 +171,16 @@ The code is hosted in a git repository on github at
171
171
  https://github.com/janfri/mini_exiftool
172
172
  feel free to contribute!
173
173
 
174
+ ## Versioning
175
+
176
+ MiniExiftool follows [Semantic Versioning](https://semver.org/), both SemVer and
177
+ SemVerTag.
178
+
174
179
  ## Author
175
180
  Jan Friedrich <janfri26@gmail.com>
176
181
 
177
182
  ## Copyright / License
178
- Copyright (c) 2007-2016 by Jan Friedrich
183
+ Copyright (c) 2007-2019 by Jan Friedrich
179
184
 
180
185
  Licensed under terms of the GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1,
181
186
  February 1999 (see file COPYING for more details)
@@ -8,7 +8,7 @@
8
8
  # Read and write access is done in a clean OO manner.
9
9
  #
10
10
  # Author: Jan Friedrich
11
- # Copyright (c) 2007-2016 by Jan Friedrich
11
+ # Copyright (c) 2007-2019 by Jan Friedrich
12
12
  # Licensed under the GNU LESSER GENERAL PUBLIC LICENSE,
13
13
  # Version 2.1, February 1999
14
14
  #
@@ -26,7 +26,7 @@ require 'time'
26
26
  # Simple OO access to the ExifTool command-line application.
27
27
  class MiniExiftool
28
28
 
29
- VERSION = '2.9.1'
29
+ VERSION = '2.10.0'
30
30
 
31
31
  # Name of the ExifTool command-line application
32
32
  @@cmd = 'exiftool'
@@ -425,6 +425,11 @@ class MiniExiftool
425
425
  end
426
426
  end
427
427
 
428
+ def respond_to_missing? symbol, *args
429
+ tag_name = MiniExiftool.unify(symbol.id2name)
430
+ !!(tag_name =~ /=$/) || @values.key?(tag_name) || super
431
+ end
432
+
428
433
  def parse_output
429
434
  adapt_encoding
430
435
  set_values JSON.parse(@output).first
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: mini_exiftool 2.9.1 ruby lib
2
+ # stub: mini_exiftool 2.10.0 ruby lib
3
3
  #
4
4
  # This file is automatically generated by rim.
5
5
  # PLEASE DO NOT EDIT IT DIRECTLY!
@@ -7,35 +7,30 @@
7
7
 
8
8
  Gem::Specification.new do |s|
9
9
  s.name = "mini_exiftool"
10
- s.version = "2.9.1"
10
+ s.version = "2.10.0"
11
11
 
12
12
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
13
13
  s.require_paths = ["lib"]
14
14
  s.authors = ["Jan Friedrich"]
15
- s.date = "2019-10-28"
15
+ s.date = "2020-01-01"
16
16
  s.description = "This library is a wrapper for the ExifTool command-line application\n(http://www.sno.phy.queensu.ca/~phil/exiftool) written by Phil Harvey.\nIt provides the full power of ExifTool to Ruby: reading and writing of\nEXIF-data, IPTC-data and XMP-data.\n"
17
17
  s.email = "janfri26@gmail.com"
18
- s.files = ["./.aspell.pws", "COPYING", "Changelog", "Gemfile", "README.md", "Rakefile", "Tutorial.md", "examples/copy_icc_profile.rb", "examples/external_photo.rb", "examples/print_portraits.rb", "examples/shift_time.rb", "examples/show_speedup_with_fast_option.rb", "lib/mini_exiftool.rb", "mini_exiftool.gemspec", "regtest/read_all.rb", "regtest/read_all.yml", "test/data", "test/data/Bad_PreviewIFD.jpg", "test/data/Canon.jpg", "test/data/INFORMATION", "test/data/invalid_byte_sequence_in_utf8.json", "test/data/invalid_rational.json", "test/data/test.jpg", "test/data/test.jpg.json", "test/data/test_coordinates.jpg", "test/data/test_encodings.jpg", "test/data/test_special_dates.jpg", "test/helpers_for_test.rb", "test/test_bad_preview_ifd.rb", "test/test_class_methods.rb", "test/test_composite.rb", "test/test_copy_tags_from.rb", "test/test_dumping.rb", "test/test_encodings.rb", "test/test_filename_access.rb", "test/test_from_hash.rb", "test/test_invalid_byte_sequence_in_utf8.rb", "test/test_invalid_rational.rb", "test/test_io.rb", "test/test_pstore.rb", "test/test_read.rb", "test/test_read_coordinates.rb", "test/test_read_numerical.rb", "test/test_save.rb", "test/test_special.rb", "test/test_special_dates.rb", "test/test_write.rb"]
18
+ s.files = ["./.aspell.pws", "COPYING", "Changelog", "Gemfile", "README.md", "Rakefile", "Tutorial.md", "examples/copy_icc_profile.rb", "examples/external_photo.rb", "examples/print_portraits.rb", "examples/shift_time.rb", "examples/show_speedup_with_fast_option.rb", "lib/mini_exiftool.rb", "mini_exiftool.gemspec", "regtest/read_all.rb", "regtest/read_all.yml", "test/data", "test/data/Bad_PreviewIFD.jpg", "test/data/Canon.jpg", "test/data/INFORMATION", "test/data/invalid_byte_sequence_in_utf8.json", "test/data/invalid_rational.json", "test/data/test.jpg", "test/data/test.jpg.json", "test/data/test_coordinates.jpg", "test/data/test_encodings.jpg", "test/data/test_special_dates.jpg", "test/helpers_for_test.rb", "test/test_bad_preview_ifd.rb", "test/test_class_methods.rb", "test/test_composite.rb", "test/test_copy_tags_from.rb", "test/test_dumping.rb", "test/test_encodings.rb", "test/test_filename_access.rb", "test/test_from_hash.rb", "test/test_instance_methods.rb", "test/test_invalid_byte_sequence_in_utf8.rb", "test/test_invalid_rational.rb", "test/test_io.rb", "test/test_pstore.rb", "test/test_read.rb", "test/test_read_coordinates.rb", "test/test_read_numerical.rb", "test/test_save.rb", "test/test_special.rb", "test/test_special_dates.rb", "test/test_write.rb"]
19
19
  s.homepage = "https://github.com/janfri/mini_exiftool"
20
20
  s.licenses = ["LGPL-2.1"]
21
21
  s.post_install_message = "+-----------------------------------------------------------------------+\n| Please ensure you have installed exiftool at least version 7.65 |\n| and it's found in your PATH (Try \"exiftool -ver\" on your commandline).|\n| For more details see |\n| http://www.sno.phy.queensu.ca/~phil/exiftool/install.html |\n| You need also Ruby 1.9 or higher. |\n| If you need support for Ruby 1.8 or exiftool prior 7.65 install |\n| mini_exiftool version < 2.0.0. |\n+-----------------------------------------------------------------------+\n"
22
- s.rubygems_version = "3.0.3"
22
+ s.rubygems_version = "3.1.2"
23
23
  s.summary = "This library is a wrapper for the ExifTool command-line application (http://www.sno.phy.queensu.ca/~phil/exiftool)."
24
24
 
25
25
  if s.respond_to? :specification_version then
26
26
  s.specification_version = 4
27
+ end
27
28
 
28
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
29
- s.add_development_dependency(%q<rake>, [">= 0"])
30
- s.add_development_dependency(%q<rim>, ["~> 2.17"])
31
- s.add_development_dependency(%q<test-unit>, [">= 0"])
32
- s.add_development_dependency(%q<regtest>, ["~> 2"])
33
- else
34
- s.add_dependency(%q<rake>, [">= 0"])
35
- s.add_dependency(%q<rim>, ["~> 2.17"])
36
- s.add_dependency(%q<test-unit>, [">= 0"])
37
- s.add_dependency(%q<regtest>, ["~> 2"])
38
- end
29
+ if s.respond_to? :add_runtime_dependency then
30
+ s.add_development_dependency(%q<rake>, [">= 0"])
31
+ s.add_development_dependency(%q<rim>, ["~> 2.17"])
32
+ s.add_development_dependency(%q<test-unit>, [">= 0"])
33
+ s.add_development_dependency(%q<regtest>, ["~> 2"])
39
34
  else
40
35
  s.add_dependency(%q<rake>, [">= 0"])
41
36
  s.add_dependency(%q<rim>, ["~> 2.17"])
@@ -0,0 +1,24 @@
1
+ # -- encoding: utf-8 --
2
+ require 'helpers_for_test'
3
+
4
+ class TestRead < TestCase
5
+
6
+ def setup
7
+ @data_dir = File.dirname(__FILE__) + '/data'
8
+ @filename_test = @data_dir + '/test.jpg'
9
+ @mini_exiftool = MiniExiftool.new @filename_test
10
+ end
11
+
12
+ def test_respond_to_missing
13
+ assert_true @mini_exiftool.respond_to?(:iso), 'instance should respond to iso because it has a value for ISO'
14
+ assert_true @mini_exiftool.respond_to?('iso'), 'instance should respond to iso because it has a value for ISO'
15
+ assert_true @mini_exiftool.respond_to?('ISO'), 'instance should respond to ISO because it has a value for ISO'
16
+ assert_true @mini_exiftool.respond_to?(:iso=), 'instance should respond to iso= because all setters are allowed'
17
+ assert_true @mini_exiftool.respond_to?('iso='), 'instance should respond to iso= because all setters are allowed'
18
+ assert_true @mini_exiftool.respond_to?('ISO='), 'instance should respond to ISO= because all setters are allowed'
19
+ assert_false @mini_exiftool.respond_to?(:comment), 'instance should not respond to comment because it has no value for Comment'
20
+ assert_false @mini_exiftool.respond_to?('comment'), 'instance should not respond to comment because it has no value for Comment'
21
+ assert_false @mini_exiftool.respond_to?('Comment'), 'instance should not respond to Comment because it has no value for Comment'
22
+ end
23
+
24
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_exiftool
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.1
4
+ version: 2.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Friedrich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-28 00:00:00.000000000 Z
11
+ date: 2020-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -111,6 +111,7 @@ files:
111
111
  - test/test_encodings.rb
112
112
  - test/test_filename_access.rb
113
113
  - test/test_from_hash.rb
114
+ - test/test_instance_methods.rb
114
115
  - test/test_invalid_byte_sequence_in_utf8.rb
115
116
  - test/test_invalid_rational.rb
116
117
  - test/test_io.rb
@@ -150,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
151
  - !ruby/object:Gem::Version
151
152
  version: '0'
152
153
  requirements: []
153
- rubygems_version: 3.0.3
154
+ rubygems_version: 3.1.2
154
155
  signing_key:
155
156
  specification_version: 4
156
157
  summary: This library is a wrapper for the ExifTool command-line application (http://www.sno.phy.queensu.ca/~phil/exiftool).