ruby-vips 0.3.9 → 0.3.12

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: dc46d8bad7bdd686a69c0da9fb009c27afd4c66b
4
+ data.tar.gz: 827afdfb3a22897c2b65c85b31535760e8dc450a
5
+ SHA512:
6
+ metadata.gz: fa458e1470eb0e7196ce1eb9ddb0c182366a72299acd01edd4dcf283c0a04ba0df6705ee0da15494ae1be1cde0e2a9d6bcdfa2fe13bfeeb432f7963929388bf1
7
+ data.tar.gz: 4c107f40deace0d32bb530d81ec6b9d70578d50589805b5fc8ecb9b33495fe96401b1b0327b5877e88c93565c19b07ab8ba26b9fa26ee18220ab3876712258d6
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # master
2
2
 
3
+ # Version 0.3.12
4
+
5
+ * incremental GC every 10 writes [felixbuenemann]
6
+ * updated bundle [John Cupitt]
7
+
8
+ # Version 0.3.11
9
+
10
+ * added magick load from buffer [John Cupitt]
11
+
12
+ # Version 0.3.10
13
+
14
+ * added webp write [John Cupitt]
15
+
3
16
  # Version 0.3.9
4
17
 
5
18
  * removed a stray file from gemspec [Alessandro Tagliapietra]
data/Gemfile.lock CHANGED
@@ -25,7 +25,7 @@ GEM
25
25
  nokogiri (= 1.5.10)
26
26
  rake
27
27
  rdoc
28
- json (1.8.1)
28
+ json (1.8.3)
29
29
  jwt (1.0.0)
30
30
  multi_json (1.10.1)
31
31
  multi_xml (0.5.5)
@@ -39,10 +39,8 @@ GEM
39
39
  rack (~> 1.2)
40
40
  rack (1.5.2)
41
41
  rake (10.2.2)
42
- rdoc (4.1.1)
42
+ rdoc (3.12.2)
43
43
  json (~> 1.4)
44
- rdoc-data (4.0.1)
45
- rdoc (~> 4.0)
46
44
  rspec (3.0.0)
47
45
  rspec-core (~> 3.0.0)
48
46
  rspec-expectations (~> 3.0.0)
@@ -60,8 +58,7 @@ PLATFORMS
60
58
  ruby
61
59
 
62
60
  DEPENDENCIES
63
- bundler
61
+ bundler (~> 1.0)
64
62
  jeweler (~> 1.8.3)
65
- rdoc (~> 4.1)
66
- rdoc-data (~> 4.0)
63
+ rdoc (~> 3.12)
67
64
  rspec
data/README.md CHANGED
@@ -61,39 +61,42 @@ Install [homebrew](http://mxcl.github.com/homebrew) and enter:
61
61
 
62
62
  ```bash
63
63
  $ brew tap homebrew/science
64
- $ brew install vips --with-cfitsio --with-fftw --with-imagemagick \
65
- --with-libexif --with-liboil --with-libtiff --with-little-cms \
66
- --with-openexr --with-openslide --with-pango
64
+ $ brew install vips
65
+ ```
66
+
67
+ You may see some harmless warnings.
68
+
69
+ To verify that your vips install is working, try:
70
+
71
+ ```bash
72
+ $ vips --version
73
+ vips-7.42.1-Sat Dec 27 12:01:43 GMT 2014
67
74
  ```
68
75
 
69
76
  libvips has a lot of optional dependencies. You
70
- may not need all of them. See [the notes
77
+ may not need all of them. True `brew info vips` to see what you have enabled
78
+ and what is disabled. See also [the notes
71
79
  here](http://www.vips.ecs.soton.ac.uk/index.php?title=Build_on_OS_X) for
72
80
  more information.
73
81
 
74
82
  If you want to build things outside homebrew which depend on vips,
75
- such as ruby-vips, your pkg-config will need to be working. You
76
- need to point pkg-config at the homebrew area, and, additionally, at
77
- homebrew's libxml2 area:
78
-
79
- In your .profile, add something like:
83
+ such as ruby-vips, your pkg-config will need to be working. To test
84
+ `pkg-config`, try:
80
85
 
81
86
  ```bash
82
- export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig
87
+ $ pkg-config vips --modversion
83
88
  ```
84
89
 
85
- To verify that your vips install is correct and working, try:
86
-
87
- ```bash
88
- $ vips --version
89
- vips-7.36.4-Tue Nov 19 12:22:47 GMT 2013
90
- ```
90
+ If you see a version number, you are OK. If you don't, either update your
91
+ homebrew, or try adjusting `PKG_CONFIG_PATH`. At various times homebrew has
92
+ needed various settings. You might need to point it at homebrew or even at
93
+ libxml2.
91
94
 
92
- To verify that your pkg-config is working correctly with vips, try:
95
+ To verify that your `pkg-config` is working correctly with vips, try:
93
96
 
94
97
  ```bash
95
98
  $ pkg-config vips --libs
96
- -L/usr/local/Cellar/vips/7.36.4/lib ... a lot of stuff
99
+ -L/usr/local/Cellar/vips/7.42.1/lib ... a lot of stuff
97
100
  ```
98
101
 
99
102
  TODO: Describe & test with macports.
data/ext/reader.c CHANGED
@@ -73,6 +73,28 @@ jpeg_buf_internal(VALUE obj, VALUE buf, VALUE shrink, VALUE fail)
73
73
  return img_init(cVIPSImage, im_new);
74
74
  }
75
75
 
76
+ static VALUE
77
+ magick_buf_internal(VALUE obj, VALUE buf)
78
+ {
79
+ VipsImage *im_new;
80
+
81
+ im_new = NULL;
82
+
83
+ #if ATLEAST_VIPS( 8, 2 )
84
+ buf = StringValue(buf);
85
+
86
+ if (!(im_new = im_open("", "p")))
87
+ vips_lib_error();
88
+
89
+ if (im_bufmagick2vips(RSTRING_PTR(buf), RSTRING_LEN(buf), im_new, FALSE))
90
+ vips_lib_error();
91
+ #else
92
+ rb_raise(eVIPSError, "This method is not implemented in your version of VIPS");
93
+ #endif
94
+
95
+ return img_init(cVIPSImage, im_new);
96
+ }
97
+
76
98
  static VALUE
77
99
  png_buf_internal(VALUE obj, VALUE buf)
78
100
  {
@@ -214,6 +236,10 @@ init_Reader(void)
214
236
  rb_define_private_method(magick_reader, "read_internal", magick_read_internal, 2);
215
237
  reader_fmt_set(magick_reader, "magick");
216
238
 
239
+ magick_reader = rb_define_class_under(mVIPS, "MagickReader", reader);
240
+ rb_define_private_method(magick_reader, "buf_internal", magick_buf_internal, 1);
241
+ reader_fmt_set(magick_reader, "magick");
242
+
217
243
  /*
218
244
  * Read Analyze images.
219
245
  */
data/ext/tags CHANGED
@@ -4,18 +4,17 @@
4
4
  !_TAG_PROGRAM_NAME Exuberant Ctags //
5
5
  !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
6
6
  !_TAG_PROGRAM_VERSION 5.9~svn20110310 //
7
- ATLEAST_VIPS ruby_vips.h 19;" d
8
7
  CGETPIX image.c 241;" d file:
9
- DBL2NUM ruby_vips.h 26;" d
8
+ DBL2NUM ruby_vips.h 20;" d
10
9
  GETPIX image.c 228;" d file:
11
10
  GetImg image.h 26;" d
12
11
  Init_vips_ext ruby_vips.c /^Init_vips_ext()$/;" f
13
- NEED_ruby_vips_class_map_all ruby_vips.h 51;" d
12
+ NEED_ruby_vips_class_map_all ruby_vips.h 45;" d
14
13
  OutImg image.h 32;" d
15
14
  OutImg2 image.h 36;" d
16
15
  OutImg3 image.h 40;" d
17
16
  OutPartial image.h 44;" d
18
- RARRAY_LENINT ruby_vips.h 30;" d
17
+ RARRAY_LENINT ruby_vips.h 24;" d
19
18
  RUBY_VIPS_BINARY image.h 59;" d
20
19
  RUBY_VIPS_H ruby_vips.h 2;" d
21
20
  RUBY_VIPS_HEADER_H header.h 2;" d
@@ -103,8 +102,8 @@ id_ushort header.c /^static ID id_notset, id_uchar, id_char, id_ushort, id_short
103
102
  id_white image_conversion.c /^static ID id_black, id_extend, id_repeat, id_mirror, id_white;$/;" v file:
104
103
  id_xyz image.c /^static ID id_b_w, id_histogram, id_fourier, id_xyz, id_lab, id_cmyk, id_labq,$/;" v file:
105
104
  id_yxy image.c /^ id_rgb, id_ucs, id_lch, id_labs, id_srgb, id_yxy, id_rgb16, id_grey16;$/;" v file:
106
- im_openout ruby_vips.h 41;" d
107
- im_openout ruby_vips.h 42;" d
105
+ im_openout ruby_vips.h 35;" d
106
+ im_openout ruby_vips.h 36;" d
108
107
  imask mask.h /^ INTMASK *imask;$/;" m struct:_vipsMask
109
108
  imask2rb mask.c /^imask2rb(INTMASK *msk)$/;" f
110
109
  img_abs image_arithmetic.c /^img_abs(VALUE obj)$/;" f
@@ -420,12 +419,11 @@ mask_scale mask.c /^mask_scale(VALUE obj)$/;" f file:
420
419
  mask_to_image mask.c /^mask_to_image(VALUE obj)$/;" f file:
421
420
  mask_xsize mask.c /^mask_xsize(VALUE obj)$/;" f file:
422
421
  mask_ysize mask.c /^mask_ysize(VALUE obj)$/;" f file:
423
- png_buf_internal reader.c /^png_buf_internal(VALUE obj, VALUE buf)$/;" f file:
424
422
  png_buf_internal writer.c /^png_buf_internal(VALUE obj, VALUE compression, VALUE interlace)$/;" f file:
425
423
  png_write_internal writer.c /^png_write_internal(VALUE obj, VALUE path)$/;" f file:
426
424
  ppm_write_internal writer.c /^ppm_write_internal(VALUE obj, VALUE path)$/;" f file:
427
425
  raw_read_internal reader.c /^raw_read_internal(VALUE obj, VALUE path, VALUE width, VALUE height, VALUE bpp,$/;" f file:
428
- rb_str_new_cstr ruby_vips.h 34;" d
426
+ rb_str_new_cstr ruby_vips.h 28;" d
429
427
  reader_fmt_set reader.c /^reader_fmt_set(VALUE klass, const char* val)$/;" f file:
430
428
  reader_get_fmt_class reader.c /^reader_get_fmt_class(VALUE klass)$/;" f
431
429
  reader_read_internal reader.c /^reader_read_internal(VALUE obj, VALUE path, VALUE flags)$/;" f file:
@@ -435,10 +433,9 @@ ruby_vips_type_map ruby_vips.c /^ruby_vips_type_map( GType base, VipsTypeMap2 fn
435
433
  tiff_write_internal writer.c /^tiff_write_internal(VALUE obj, VALUE path)$/;" f file:
436
434
  vipsImg image.h /^typedef struct _vipsImg vipsImg;$/;" t typeref:struct:_vipsImg
437
435
  vipsMask mask.h /^typedef struct _vipsMask vipsMask;$/;" t typeref:struct:_vipsMask
438
- vips_class_map_concrete_all ruby_vips.h 50;" d
436
+ vips_class_map_concrete_all ruby_vips.h 44;" d
439
437
  vips_lib_error ruby_vips.c /^vips_lib_error()$/;" f
440
438
  vips_s_debug_info ruby_vips.c /^vips_s_debug_info(VALUE obj)$/;" f file:
441
- vips_s_thread_shutdown ruby_vips.c /^vips_s_thread_shutdown(VALUE obj)$/;" f file:
442
439
  vips_s_version_array ruby_vips.c /^vips_s_version_array()$/;" f file:
443
440
  vips_s_version_string ruby_vips.c /^vips_s_version_string()$/;" f file:
444
441
  vips_write_internal writer.c /^vips_write_internal(VALUE obj, VALUE path)$/;" f file:
data/ext/writer.c CHANGED
@@ -248,6 +248,23 @@ png_write_internal(VALUE obj, VALUE path)
248
248
 
249
249
  /* :nodoc: */
250
250
 
251
+ static VALUE
252
+ webp_write_internal(VALUE obj, VALUE path)
253
+ {
254
+ #if ATLEAST_VIPS( 7, 42 )
255
+ GetImg(obj, data, im);
256
+
257
+ if (im_vips2webp(im, RSTRING_PTR(path)))
258
+ vips_lib_error();
259
+ #else
260
+ rb_raise(eVIPSError, "This method is not implemented in your version of VIPS");
261
+ #endif
262
+
263
+ return obj;
264
+ }
265
+
266
+ /* :nodoc: */
267
+
251
268
  static VALUE
252
269
  csv_write_internal(VALUE obj, VALUE path)
253
270
  {
@@ -327,6 +344,13 @@ init_Writer(void)
327
344
  rb_define_private_method(png_writer, "write_internal", png_write_internal, 1);
328
345
  rb_define_private_method(png_writer, "buf_internal", png_buf_internal, 2);
329
346
 
347
+ /*
348
+ * Write WebP images.
349
+ */
350
+
351
+ VALUE webp_writer = rb_define_class_under(mVIPS, "WEBPWriter", writer);
352
+ rb_define_private_method(webp_writer, "write_internal", webp_write_internal, 1);
353
+
330
354
  /*
331
355
  * Write CSV images.
332
356
  */
data/lib/vips/reader.rb CHANGED
@@ -214,6 +214,12 @@ module VIPS
214
214
  end
215
215
  end
216
216
 
217
+ class MagickReader < Reader
218
+ def read_buffer
219
+ @_im = buf_internal @path
220
+ end
221
+ end
222
+
217
223
  class Image
218
224
 
219
225
  # Load a ppm file straight to a VIPS Image.
data/lib/vips/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module VIPS
2
- VERSION = "0.3.9"
2
+ VERSION = "0.3.12"
3
3
  end
data/lib/vips/writer.rb CHANGED
@@ -14,14 +14,14 @@ module VIPS
14
14
  # GCing before every write would have a horrible effect on performance, so
15
15
  # as a compromise we GC every @@gc_interval writes
16
16
 
17
- @@gc_interval = 100
17
+ @@gc_interval = 10
18
18
  @@gc_countdown = @@gc_interval
19
19
 
20
20
  def write_gc(path)
21
21
  @@gc_countdown -= 1
22
22
  if @@gc_countdown < 0
23
23
  @@gc_countdown = @@gc_interval
24
- GC.start
24
+ GC.start full_mark: false, immediate_sweep: false
25
25
  end
26
26
 
27
27
  write_internal path
@@ -102,6 +102,40 @@ module VIPS
102
102
  end
103
103
  end
104
104
 
105
+ class WEBPWriter < Writer
106
+ attr_accessor :quality, :lossless
107
+
108
+ def initialize(image, options={})
109
+ super image
110
+
111
+ @quality = 75
112
+ @lossless = false
113
+
114
+ self.quality = options[:quality] if options.has_key?(:quality)
115
+ self.lossless = options[:lossless] if options.has_key?(:lossless)
116
+ end
117
+
118
+ def write(path)
119
+ write_gc "#{path}:#{@quality},#{@lossless ? 1 : 0}"
120
+ end
121
+
122
+ def quality=(quality_v)
123
+ unless (0..100).include?(quality_v)
124
+ raise ArgumentError, 'quality must be a numeric value between 0 and 100'
125
+ end
126
+
127
+ @quality = quality_v
128
+ end
129
+
130
+ def lossless=(lossless_v)
131
+ unless [True, False].include?(lossless_v)
132
+ raise ArgumentError, 'lossless must be a boolean value'
133
+ end
134
+
135
+ @lossless = lossless_v
136
+ end
137
+ end
138
+
105
139
  class PPMWriter < Writer
106
140
  attr_reader :format
107
141
 
data/ruby-vips.gemspec CHANGED
@@ -2,14 +2,17 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: ruby-vips 0.3.12 ruby lib
6
+ # stub: ext/extconf.rb
5
7
 
6
8
  Gem::Specification.new do |s|
7
9
  s.name = "ruby-vips"
8
- s.version = "0.3.9"
10
+ s.version = "0.3.12"
9
11
 
10
12
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
13
+ s.require_paths = ["lib"]
11
14
  s.authors = ["Timothy Elliott", "John Cupitt"]
12
- s.date = "2014-07-17"
15
+ s.date = "2016-01-17"
13
16
  s.description = "Ruby extension for the vips image processing library."
14
17
  s.email = "jcupitt@gmail.com"
15
18
  s.extensions = ["ext/extconf.rb"]
@@ -70,30 +73,26 @@ Gem::Specification.new do |s|
70
73
  s.homepage = "http://github.com/jcupitt/ruby-vips"
71
74
  s.licenses = ["MIT"]
72
75
  s.rdoc_options = ["--title", "ruby-vips \#{version}", "ext"]
73
- s.require_paths = ["lib"]
74
- s.rubygems_version = "1.8.23"
76
+ s.rubygems_version = "2.2.2"
75
77
  s.summary = "ruby-vips is a ruby extension for vips. It is extremely fast and it can process huge images without requiring the entire image to be loaded into memory."
76
78
 
77
79
  if s.respond_to? :specification_version then
78
- s.specification_version = 3
80
+ s.specification_version = 4
79
81
 
80
82
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
81
- s.add_development_dependency(%q<rdoc>, ["~> 4.1"])
82
- s.add_development_dependency(%q<rdoc-data>, ["~> 4.0"])
83
- s.add_development_dependency(%q<bundler>, [">= 0"])
83
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
84
+ s.add_development_dependency(%q<bundler>, ["~> 1.0"])
84
85
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
85
86
  s.add_development_dependency(%q<rspec>, [">= 0"])
86
87
  else
87
- s.add_dependency(%q<rdoc>, ["~> 4.1"])
88
- s.add_dependency(%q<rdoc-data>, ["~> 4.0"])
89
- s.add_dependency(%q<bundler>, [">= 0"])
88
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
89
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
90
90
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
91
91
  s.add_dependency(%q<rspec>, [">= 0"])
92
92
  end
93
93
  else
94
- s.add_dependency(%q<rdoc>, ["~> 4.1"])
95
- s.add_dependency(%q<rdoc-data>, ["~> 4.0"])
96
- s.add_dependency(%q<bundler>, [">= 0"])
94
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
95
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
97
96
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
98
97
  s.add_dependency(%q<rspec>, [">= 0"])
99
98
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-vips
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.9
5
- prerelease:
4
+ version: 0.3.12
6
5
  platform: ruby
7
6
  authors:
8
7
  - Timothy Elliott
@@ -10,86 +9,62 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2014-07-17 00:00:00.000000000 Z
12
+ date: 2016-01-17 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rdoc
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ~>
18
+ - - "~>"
21
19
  - !ruby/object:Gem::Version
22
- version: '4.1'
20
+ version: '3.12'
23
21
  type: :development
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ~>
25
+ - - "~>"
29
26
  - !ruby/object:Gem::Version
30
- version: '4.1'
31
- - !ruby/object:Gem::Dependency
32
- name: rdoc-data
33
- requirement: !ruby/object:Gem::Requirement
34
- none: false
35
- requirements:
36
- - - ~>
37
- - !ruby/object:Gem::Version
38
- version: '4.0'
39
- type: :development
40
- prerelease: false
41
- version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ~>
45
- - !ruby/object:Gem::Version
46
- version: '4.0'
27
+ version: '3.12'
47
28
  - !ruby/object:Gem::Dependency
48
29
  name: bundler
49
30
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
31
  requirements:
52
- - - ! '>='
32
+ - - "~>"
53
33
  - !ruby/object:Gem::Version
54
- version: '0'
34
+ version: '1.0'
55
35
  type: :development
56
36
  prerelease: false
57
37
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
38
  requirements:
60
- - - ! '>='
39
+ - - "~>"
61
40
  - !ruby/object:Gem::Version
62
- version: '0'
41
+ version: '1.0'
63
42
  - !ruby/object:Gem::Dependency
64
43
  name: jeweler
65
44
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
45
  requirements:
68
- - - ~>
46
+ - - "~>"
69
47
  - !ruby/object:Gem::Version
70
48
  version: 1.8.3
71
49
  type: :development
72
50
  prerelease: false
73
51
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
52
  requirements:
76
- - - ~>
53
+ - - "~>"
77
54
  - !ruby/object:Gem::Version
78
55
  version: 1.8.3
79
56
  - !ruby/object:Gem::Dependency
80
57
  name: rspec
81
58
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
59
  requirements:
84
- - - ! '>='
60
+ - - ">="
85
61
  - !ruby/object:Gem::Version
86
62
  version: '0'
87
63
  type: :development
88
64
  prerelease: false
89
65
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
66
  requirements:
92
- - - ! '>='
67
+ - - ">="
93
68
  - !ruby/object:Gem::Version
94
69
  version: '0'
95
70
  description: Ruby extension for the vips image processing library.
@@ -104,7 +79,9 @@ extra_rdoc_files:
104
79
  files:
105
80
  - CHANGELOG.md
106
81
  - Gemfile.lock
82
+ - LICENSE
107
83
  - README.md
84
+ - TODO
108
85
  - ext/extconf.rb
109
86
  - ext/header.c
110
87
  - ext/header.h
@@ -149,38 +126,32 @@ files:
149
126
  - lib/vips/writer.rb
150
127
  - ruby-vips.gemspec
151
128
  - ruby.supp
152
- - LICENSE
153
- - TODO
154
129
  homepage: http://github.com/jcupitt/ruby-vips
155
130
  licenses:
156
131
  - MIT
132
+ metadata: {}
157
133
  post_install_message:
158
134
  rdoc_options:
159
- - --title
160
- - ! 'ruby-vips #{version}'
135
+ - "--title"
136
+ - 'ruby-vips #{version}'
161
137
  - ext
162
138
  require_paths:
163
139
  - lib
164
140
  required_ruby_version: !ruby/object:Gem::Requirement
165
- none: false
166
141
  requirements:
167
- - - ! '>='
142
+ - - ">="
168
143
  - !ruby/object:Gem::Version
169
144
  version: '0'
170
- segments:
171
- - 0
172
- hash: -1056499539870116090
173
145
  required_rubygems_version: !ruby/object:Gem::Requirement
174
- none: false
175
146
  requirements:
176
- - - ! '>='
147
+ - - ">="
177
148
  - !ruby/object:Gem::Version
178
149
  version: '0'
179
150
  requirements: []
180
151
  rubyforge_project:
181
- rubygems_version: 1.8.23
152
+ rubygems_version: 2.2.2
182
153
  signing_key:
183
- specification_version: 3
154
+ specification_version: 4
184
155
  summary: ruby-vips is a ruby extension for vips. It is extremely fast and it can process
185
156
  huge images without requiring the entire image to be loaded into memory.
186
157
  test_files: []