exifparser 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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