animated_gif_detector 0.1.0 → 0.1.1

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: 6617cd4c8a65784f425fd843ddc2fdb4b412d301
4
- data.tar.gz: 4382a87a00ffa9a519f527151c9d540f5561dc53
3
+ metadata.gz: ef3845db2fa2db31ecd9faa8d67346c0dc56d93a
4
+ data.tar.gz: b1ccbb63763c7b295815f95ed000249c04be3d73
5
5
  SHA512:
6
- metadata.gz: 1fb8c50418b3e149e6c44c6cf3d4efd322b85150f528b8b757a0289d5abffab62eb4791c44ef6ca63b0cea648306d25b793ca6f36cbbcd0a15874c00483f32b9
7
- data.tar.gz: d94c821f84c7462d8342c58df64f63f9ecfcd0e78583bee55d019f3a6da94b8261584e34ebba9fe923dcc8cf094f7da15218d1309e2621474a51428657ddd06d
6
+ metadata.gz: 21ad3d72d3b26ad22349156baace678ed30acd3f2c5dfeb03e90d2304c79065904c5ba2e967d2197f4a002df4385114aa23c999e53e4dee78d94693dbecff8e3
7
+ data.tar.gz: a924dc37eea5ea3f836ebe51eb97378c955f068d34631f84c6dcd96c7d966bab98a5291d57b642697c8960538cfb3a890615de28984ba84de77b57ca63a9fcd3
@@ -19,21 +19,29 @@ class AnimatedGifDetector
19
19
  end
20
20
 
21
21
  def animated?
22
- raise UnrecognizedFileFormatException unless @stream.read(3) == 'GIF'
23
-
24
- lookback = ''
25
- animated = false
26
- while data = @stream.read(@options[:buffer_size])
27
- @frames += count_substring_matches(lookback + data, BLOCK_TERMINATOR + GRAPHIC_CONTROL_EXTENSION_MAGIC)
28
- animated = @frames > 1
29
-
30
- return true if @options[:terminate_after] and animated
31
-
32
- lookback = last_characters(data, BLOCK_SIZE - 1)
22
+ return @animated if defined? @animated
23
+ @animated = begin
24
+ raise UnrecognizedFileFormatException unless @stream.read(3) == 'GIF'
25
+
26
+ lookback = ''
27
+ animated = false
28
+ while data = @stream.read(@options[:buffer_size])
29
+ @frames += count_substring_matches(lookback + data, BLOCK_TERMINATOR + GRAPHIC_CONTROL_EXTENSION_MAGIC)
30
+ animated = @frames > 1
31
+
32
+ if @options[:terminate_after] && animated
33
+ @animated = true
34
+ return true
35
+ end
36
+
37
+ lookback = last_characters(data, BLOCK_SIZE - 1)
38
+ end
39
+
40
+ raise EOFWithoutFrameException if @frames == 0
41
+ animated
33
42
  end
34
-
35
- raise EOFWithoutFrameException if @frames == 0
36
- return animated
43
+ ensure
44
+ @stream.rewind
37
45
  end
38
46
 
39
47
  private
@@ -1,3 +1,3 @@
1
1
  class AnimatedGifDetector
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: animated_gif_detector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bradford Folkens
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-19 00:00:00.000000000 Z
11
+ date: 2017-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -89,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  version: '0'
90
90
  requirements: []
91
91
  rubyforge_project:
92
- rubygems_version: 2.4.5.1
92
+ rubygems_version: 2.4.8
93
93
  signing_key:
94
94
  specification_version: 4
95
95
  summary: Animated GIF detection in pure ruby