exifparser 1.0.1 → 1.0.2

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
  SHA1:
3
- metadata.gz: bfccf0b6c6c4f20652f918d8148755d04f25f27a
4
- data.tar.gz: 618cd09ea78771458c1767854e53d7c5283565a5
3
+ metadata.gz: 11b4a6e56cc19c607d633de9d7357f9ad44aa089
4
+ data.tar.gz: e1e3fb345b0d276ec721d7d5c207e913ab7d5721
5
5
  SHA512:
6
- metadata.gz: 28174bc9b81c4997584c8d1f1138c1e1308307d83ce5f326d901b35657e5060896232c5f5684b71110d8981b1b22c80a153aa7d4d9918c93cb385dde7246bcc5
7
- data.tar.gz: 357d72674ce7806b3148b19a0f5e7bcb51b801c0ac721dfe2cf2bc9ad92588af1a372219b82ff503c355cc2d86348d4704e35a3a377fa768b401acc1d92b7421
6
+ metadata.gz: b351d605e8c9552f1f1cc9629318afd459383bf7d890b413300d91e959cddd85a140683fab13fef1bbd1f877003a5dc1d0b738dd67f98439f4b6f2c8ba32fa2b
7
+ data.tar.gz: 17e8345dcce5f1f24feb8e4271de06f613b2a1c3ca95c22a222ddee96ab5c5a48d8519e36a41ed69f9e661acc580a0e23626bbd30135e1f295732ed059104503
data/lib/exifparser.rb CHANGED
@@ -99,13 +99,13 @@ module Exif
99
99
  #
100
100
  # create a new object. fpath is String.
101
101
  #
102
- def initialize(fpath)
103
- @fpath = fpath
104
- @scanner = nil
105
- File.open(fpath, "rb") do |f|
106
- @scanner = Exif::Scanner.new(f)
107
- @scanner.scan
108
- end
102
+ def initialize(file_handler)
103
+ @scanner = Exif::Scanner.new prepare_file(file_handler)
104
+ @scanner.scan
105
+ init_from_scanner
106
+ end
107
+
108
+ def init_from_scanner
109
109
  @IFD0 = @scanner.result[:IFD0]
110
110
  @IFD1 = @scanner.result[:IFD1]
111
111
  @Exif = @scanner.result[:Exif]
@@ -115,6 +115,16 @@ module Exif
115
115
  @thumbnail = @scanner.result[:Thumbnail]
116
116
  end
117
117
 
118
+ def prepare_file(handler)
119
+ if handler.is_a? String
120
+ @fpath = handler
121
+ File.open(handler, "rb")
122
+ elsif handler.is_a?(StringIO) || handler.is_a?(File)
123
+ @fpath = 'dummy_file'
124
+ handler
125
+ end
126
+ end
127
+
118
128
  def inspect
119
129
  sprintf("#<%s filename=\"%s\" entries: IFD0(%d) IFD1(%d) Exif(%d) GPS(%d) Interoperability(%d) MakerNote(%d)>", self.class, @fpath, @IFD0.length, @IFD1.length, @Exif.length, @GPS.length, @Interoperability.length, @MakerNote.length)
120
130
  end
@@ -227,6 +237,15 @@ module Exif
227
237
  end
228
238
  end
229
239
 
240
+ def marshal_dump
241
+ {scanner: Marshal.dump(@scanner)}
242
+ end
243
+
244
+ def marshal_load marshaled
245
+ @scanner = Marshal.load marshaled[:scanner]
246
+ init_from_scanner
247
+ end
248
+
230
249
  private
231
250
 
232
251
  def search_tag(tagID, ifd=nil)
@@ -210,6 +210,20 @@ module Exif
210
210
  puts(sprintf("scan time: %1.4f sec.", toc-tic)) if $DEBUG
211
211
  end
212
212
 
213
+ def marshal_dump
214
+ {
215
+ result: Marshal.dump(@result),
216
+ tiffHeader0: Marshal.dump(@tiffHeader0),
217
+ byteOrder_module: Marshal.dump(@byteOrder_module)
218
+ }
219
+ end
220
+
221
+ def marshal_load marshaled
222
+ @result = Marshal.load marshaled[:result]
223
+ @tiffHeader0 = Marshal.load marshaled[:tiffHeader0]
224
+ @byteOrder_module = Marshal.load marshaled[:byteOrder_module]
225
+ end
226
+
213
227
  private
214
228
 
215
229
  def fin_read_n(n)
@@ -1,3 +1,3 @@
1
1
  module ExifParser
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exifparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - kp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-17 00:00:00.000000000 Z
11
+ date: 2013-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler