ruby-vips 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # master
2
- ...
2
+
3
+ ### Changed
4
+
5
+ * Don't use :sequential option for older libvipses [John Cupitt]
6
+
7
+ ### Fixed
8
+
9
+ * Fixed check of sequential mode support [Stanislaw Pankevich]
3
10
 
4
11
  # Version 0.2.0
5
12
 
data/README.md CHANGED
@@ -4,14 +4,14 @@
4
4
  from git master of libvips (the unreleased 7.29) as well. You may prefer
5
5
  the stable 0.2 branch of ruby-vips.
6
6
 
7
+ [![Build Status](https://secure.travis-ci.org/jcupitt/ruby-vips.png)](http://travis-ci.org/jcupitt/ruby-vips)
8
+
7
9
  ruby-vips is a ruby extension for [vips](http://www.vips.ecs.soton.ac.uk).
8
10
  It is extremely fast and it can process huge images without requiring the
9
11
  entire image to be loaded into memory. For example, the benchmark at
10
12
  [vips-benchmarks](https://github.com/stanislaw/vips-benchmarks) loads a large
11
13
  image, crops, shrinks, sharpens and saves again:
12
14
 
13
- [![Build Status](https://secure.travis-ci.org/jcupitt/ruby-vips.png)](http://travis-ci.org/jcupitt/ruby-vips)
14
-
15
15
  <pre>
16
16
  real time in seconds, fastest of three runs
17
17
  benchmark tiff jpeg
@@ -30,6 +30,9 @@ rmagick.rb 1370064
30
30
 
31
31
  See also [benchmarks at the official libvips
32
32
  website](http://www.vips.ecs.soton.ac.uk/index.php?title=Speed_and_Memory_Use).
33
+ There's a handy blog post explaining [how libvips opens
34
+ files](http://libvips.blogspot.co.uk/2012/06/how-libvips-opens-file.html)
35
+ which gives some more background.
33
36
 
34
37
  ruby-vips allows you to set up pipelines that don't get executed until you
35
38
  output the image to disk or to a string. This means you can create,
data/lib/vips.rb CHANGED
@@ -5,3 +5,12 @@ require 'vips_ext'
5
5
  require 'vips/version'
6
6
  require 'vips/reader'
7
7
  require 'vips/writer'
8
+
9
+ module Vips
10
+ class << self
11
+ def sequential_mode_supported?
12
+ comp = VIPS::LIB_VERSION_ARRAY <=> [7,28,0]
13
+ comp >= 0
14
+ end
15
+ end
16
+ end
data/lib/vips/reader.rb CHANGED
@@ -24,15 +24,10 @@ module VIPS
24
24
 
25
25
  # Creates a CSV reader.
26
26
  def initialize(path, options={})
27
- @line_skip = 0
28
- @whitespace = ' "'
29
- @separator = ";,\t"
30
- @line_limit = 0
31
-
32
- self.line_skip = options[:line_skip] if options.has_key?(:line_skip)
33
- self.whitespace = options[:whitespace] if options.has_key?(:whitespace)
34
- self.separator = options[:separator] if options.has_key?(:separator)
35
- self.line_limit = options[:line_limit] if options.has_key?(:line_limit)
27
+ @line_skip = options[:line_skip] || 0
28
+ @whitespace = options[:whitespace] || ' "'
29
+ @separator = options[:separator] || ";,\t"
30
+ @line_limit = options[:line_limit] || 0
36
31
 
37
32
  super path, options
38
33
  end
@@ -75,13 +70,9 @@ module VIPS
75
70
 
76
71
  # Creates a jpeg image file reader.
77
72
  def initialize(path, options={})
78
- @shrink_factor = 1
79
- @fail_on_warn = false
80
- @sequential = false
81
-
82
- self.shrink_factor = options[:shrink_factor] if options.has_key?(:shrink_factor)
83
- self.fail_on_warn = options[:fail_on_warn] if options.has_key?(:fail_on_warn)
84
- self.sequential = options[:sequential] if options.has_key?(:sequential)
73
+ @shrink_factor = options[:shrink_factor] || 1
74
+ @fail_on_warn = options[:fail_on_warn] || false
75
+ @sequential = options[:sequential] || false
85
76
 
86
77
  super path, options
87
78
  end
@@ -91,8 +82,11 @@ module VIPS
91
82
  str = "#{@path}:#{shrink_factor}"
92
83
  str << ","
93
84
  str << "fail" if @fail_on_warn
94
- str << ","
95
- str << "sequential" if @sequential
85
+
86
+ if Vips.sequential_mode_supported?
87
+ str << ","
88
+ str << "sequential" if @sequential
89
+ end
96
90
 
97
91
  read_internal str
98
92
  end
@@ -116,10 +110,9 @@ module VIPS
116
110
  # Create a tiff image file reader.
117
111
  def initialize(path, options={})
118
112
  @page_number = nil
119
- @sequential = false
113
+ @sequential = options[:sequential] || false
120
114
 
121
115
  self.page_number = options[:page_number] if options.has_key?(:page_number)
122
- self.sequential = options[:sequential] if options.has_key?(:sequential)
123
116
  super path, options
124
117
  end
125
118
 
@@ -127,8 +120,11 @@ module VIPS
127
120
  def read
128
121
  str = "#{@path}:"
129
122
  str << "#{@page_number}" if @page_number
130
- str << ","
131
- str << "sequential" if @sequential
123
+
124
+ if Vips.sequential_mode_supported?
125
+ str << ","
126
+ str << "sequential" if @sequential
127
+ end
132
128
 
133
129
  read_internal str
134
130
  end
@@ -149,17 +145,19 @@ module VIPS
149
145
 
150
146
  # Create a png image file reader.
151
147
  def initialize(path, options={})
152
- @sequential = false
148
+ @sequential = options[:sequential] || false
153
149
 
154
- self.sequential = options[:sequential] if options.has_key?(:sequential)
155
150
  super path, options
156
151
  end
157
152
 
158
153
  # Read the png file from disk and return a VIPS Image object.
159
154
  def read
160
155
  str = @path
161
- str << ":"
162
- str << "sequential" if @sequential
156
+
157
+ if Vips.sequential_mode_supported?
158
+ str << ":"
159
+ str << "sequential" if @sequential
160
+ end
163
161
 
164
162
  read_internal str
165
163
  end
data/lib/vips/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module VIPS
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
data/ruby-vips.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "ruby-vips"
8
- s.version = "0.2.0"
8
+ s.version = "0.2.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Timothy Elliott", "John Cupitt"]
12
- s.date = "2012-06-29"
12
+ s.date = "2012-07-16"
13
13
  s.description = "Ruby extension for the vips image processing library."
14
14
  s.email = "jcupitt@gmail.com"
15
15
  s.extensions = ["ext/extconf.rb"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-vips
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-06-29 00:00:00.000000000 Z
13
+ date: 2012-07-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rdoc
@@ -146,7 +146,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
146
  version: '0'
147
147
  segments:
148
148
  - 0
149
- hash: -423159501
149
+ hash: 204024303
150
150
  required_rubygems_version: !ruby/object:Gem::Requirement
151
151
  none: false
152
152
  requirements: