fastimage 1.9.0 → 2.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.
- checksums.yaml +4 -4
- data/README.textile +8 -17
- data/lib/fastimage.rb +3 -4
- metadata +9 -10
- data/lib/fastimage/fbr.rb +0 -66
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d875303daa1b28112147473975032f3f81208c96
|
4
|
+
data.tar.gz: 3d89ef08e50f8aa11792de19776cb86daa85a98d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8026c5b308cd35dee11005123318cd1d19ec73f9da625014cef529e0855d570d1ba67618ecf4d2433239f699f6d2e2dcd9fc639c7ca4effe9c10d330d4ce3cb4
|
7
|
+
data.tar.gz: 871b33aaa246cd85b80bac5376826e941385d73c1f90e5b084b0977df7d441de39c3fe6661c681715cdf67fe24629795dec95eebb0456cafb6cd8e1b591cbdea
|
data/README.textile
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
!https://img.shields.io/gem/dt/fastimage.svg!:https://rubygems.org/gems/fastimage
|
1
2
|
!https://travis-ci.org/sdsykes/fastimage.png?branch=master!:https://travis-ci.org/sdsykes/fastimage
|
2
3
|
|
3
4
|
h1. FastImage
|
@@ -67,6 +68,12 @@ FastImage.new("http://stephensykes.com/images/ExifOrientation3.jpg").orientation
|
|
67
68
|
|
68
69
|
h2. Installation
|
69
70
|
|
71
|
+
h4. Required Ruby version
|
72
|
+
|
73
|
+
FastImage version 2.0.0 and above work with Ruby 1.9.2 and above.
|
74
|
+
|
75
|
+
FastImage version 1.9.0 was the last version that supported Ruby 1.8.7.
|
76
|
+
|
70
77
|
h4. Gem
|
71
78
|
|
72
79
|
bc. gem install fastimage
|
@@ -124,13 +131,12 @@ Run options:
|
|
124
131
|
|
125
132
|
# Running tests:
|
126
133
|
|
127
|
-
Finished tests in 1.033640s, 23.2189 tests/s, 82.2337 assertions/s.
|
134
|
+
Finished tests in 1.033640s, 23.2189 tests/s, 82.2337 assertions/s.
|
128
135
|
24 tests, 85 assertions, 0 failures, 0 errors, 0 skips
|
129
136
|
|
130
137
|
h2. References
|
131
138
|
|
132
139
|
* "Pennysmalls - Find jpeg dimensions fast in pure Ruby, no image library needed":http://pennysmalls.wordpress.com/2008/08/19/find-jpeg-dimensions-fast-in-pure-ruby-no-ima/
|
133
|
-
* "DZone - Determine Image Size":http://snippets.dzone.com/posts/show/805
|
134
140
|
* "Antti Kupila - Getting JPG dimensions with AS3 without loading the entire file":http://www.anttikupila.com/flash/getting-jpg-dimensions-with-as3-without-loading-the-entire-file/
|
135
141
|
* "imagesize gem":https://rubygems.org/gems/imagesize
|
136
142
|
* "EXIF Reader":https://github.com/remvee/exifr
|
@@ -147,18 +153,3 @@ h2. FastImage in other languages
|
|
147
153
|
h2. Licence
|
148
154
|
|
149
155
|
MIT, see file "MIT-LICENSE":MIT-LICENSE
|
150
|
-
|
151
|
-
h2. Contributors
|
152
|
-
|
153
|
-
Pull requests and suggestions are always welcome. Thanks to all the contributors!
|
154
|
-
|
155
|
-
* @felixbuenemann
|
156
|
-
* @speedmax
|
157
|
-
* @sebastianludwig
|
158
|
-
* @benjaminjackson
|
159
|
-
* @muffinista
|
160
|
-
* @marcandre
|
161
|
-
* @apanzerj
|
162
|
-
* @forresty
|
163
|
-
* kikihakiem
|
164
|
-
* lulalalalistia
|
data/lib/fastimage.rb
CHANGED
@@ -48,7 +48,6 @@
|
|
48
48
|
# => 3
|
49
49
|
#
|
50
50
|
# === References
|
51
|
-
# * http://snippets.dzone.com/posts/show/805
|
52
51
|
# * http://www.anttikupila.com/flash/getting-jpg-dimensions-with-as3-without-loading-the-entire-file/
|
53
52
|
# * http://pennysmalls.wordpress.com/2008/08/19/find-jpeg-dimensions-fast-in-pure-ruby-no-ima/
|
54
53
|
# * https://rubygems.org/gems/imagesize
|
@@ -57,7 +56,6 @@
|
|
57
56
|
|
58
57
|
require 'net/https'
|
59
58
|
require 'addressable/uri'
|
60
|
-
require 'fastimage/fbr.rb'
|
61
59
|
require 'delegate'
|
62
60
|
require 'pathname'
|
63
61
|
require 'zlib'
|
@@ -200,8 +198,6 @@ class FastImage
|
|
200
198
|
end
|
201
199
|
end
|
202
200
|
|
203
|
-
uri.rewind if uri.respond_to?(:rewind)
|
204
|
-
|
205
201
|
raise SizeNotFound if @options[:raise_on_failure] && @property == :size && !@size
|
206
202
|
|
207
203
|
rescue Timeout::Error, SocketError, Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Errno::ECONNRESET,
|
@@ -220,6 +216,9 @@ class FastImage
|
|
220
216
|
end
|
221
217
|
end
|
222
218
|
|
219
|
+
ensure
|
220
|
+
uri.rewind if uri.respond_to?(:rewind)
|
221
|
+
|
223
222
|
end
|
224
223
|
|
225
224
|
private
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastimage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Sykes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2
|
19
|
+
version: '2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2
|
26
|
+
version: '2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: fakeweb
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '10.5'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '10.5'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rdoc
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,7 +91,6 @@ files:
|
|
91
91
|
- MIT-LICENSE
|
92
92
|
- README.textile
|
93
93
|
- lib/fastimage.rb
|
94
|
-
- lib/fastimage/fbr.rb
|
95
94
|
homepage: http://github.com/sdsykes/fastimage
|
96
95
|
licenses:
|
97
96
|
- MIT
|
@@ -105,7 +104,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
105
104
|
requirements:
|
106
105
|
- - ">="
|
107
106
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
107
|
+
version: 1.9.2
|
109
108
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
109
|
requirements:
|
111
110
|
- - ">="
|
data/lib/fastimage/fbr.rb
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
# Poor Man's Fiber (API compatible Thread based Fiber implementation for Ruby 1.8)
|
2
|
-
# (c) 2008 Aman Gupta (tmm1)
|
3
|
-
|
4
|
-
unless defined? Fiber
|
5
|
-
require 'thread'
|
6
|
-
|
7
|
-
class FiberError < StandardError; # :nodoc:
|
8
|
-
end
|
9
|
-
|
10
|
-
class Fiber # :nodoc:
|
11
|
-
def initialize
|
12
|
-
raise ArgumentError, 'new Fiber requires a block' unless block_given?
|
13
|
-
|
14
|
-
@yield = Queue.new
|
15
|
-
@resume = Queue.new
|
16
|
-
|
17
|
-
@thread = Thread.new{ @yield.push [yield(*@resume.pop)] }
|
18
|
-
@thread.abort_on_exception = true
|
19
|
-
@thread[:fiber] = self
|
20
|
-
end
|
21
|
-
attr_reader :thread
|
22
|
-
|
23
|
-
def resume *args
|
24
|
-
raise FiberError, 'dead fiber called' unless @thread.alive?
|
25
|
-
@resume.push(args)
|
26
|
-
result = @yield.pop
|
27
|
-
result.size > 1 ? result : result.first
|
28
|
-
end
|
29
|
-
|
30
|
-
def yield *args
|
31
|
-
@yield.push(args)
|
32
|
-
result = @resume.pop
|
33
|
-
result.size > 1 ? result : result.first
|
34
|
-
end
|
35
|
-
|
36
|
-
def self.yield *args
|
37
|
-
if fiber = Thread.current[:fiber]
|
38
|
-
fiber.yield(*args)
|
39
|
-
else
|
40
|
-
raise FiberError, 'not inside a fiber'
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def self.current
|
45
|
-
if Thread.current == Thread.main
|
46
|
-
return Thread.main[:fiber] ||= RootFiber.new
|
47
|
-
end
|
48
|
-
|
49
|
-
Thread.current[:fiber] or raise FiberError, 'not inside a fiber'
|
50
|
-
end
|
51
|
-
|
52
|
-
def inspect
|
53
|
-
"#<#{self.class}:0x#{self.object_id.to_s(16)}>"
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
class RootFiber < Fiber # :nodoc:
|
58
|
-
def initialize
|
59
|
-
# XXX: what is a root fiber anyway?
|
60
|
-
end
|
61
|
-
|
62
|
-
def self.yield *args
|
63
|
-
raise FiberError, "can't yield from root fiber"
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|