rmagick 6.0.1 → 6.1.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/ImageMagick6/devcontainer.json +2 -2
  3. data/.devcontainer/devcontainer.json +2 -2
  4. data/.editorconfig +2 -2
  5. data/.github/workflows/ci.yml +46 -13
  6. data/.rubocop.yml +4 -0
  7. data/.rubocop_todo.yml +53 -56
  8. data/CHANGELOG.md +15 -0
  9. data/Gemfile +4 -0
  10. data/README.md +11 -6
  11. data/Rakefile +10 -2
  12. data/before_install_linux.sh +3 -1
  13. data/before_install_osx.sh +1 -1
  14. data/ext/RMagick/extconf.rb +12 -97
  15. data/ext/RMagick/rmagick.h +1 -1
  16. data/ext/RMagick/rmilist.cpp +1 -1
  17. data/ext/RMagick/rmimage.cpp +2 -0
  18. data/lib/rmagick/version.rb +1 -1
  19. data/lib/rmagick_internal.rb +2 -2
  20. data/lib/rvg/clippath.rb +2 -0
  21. data/lib/rvg/container.rb +2 -0
  22. data/lib/rvg/deep_equal.rb +2 -0
  23. data/lib/rvg/describable.rb +2 -0
  24. data/lib/rvg/embellishable.rb +2 -0
  25. data/lib/rvg/misc.rb +2 -0
  26. data/lib/rvg/paint.rb +2 -0
  27. data/lib/rvg/pathdata.rb +2 -0
  28. data/lib/rvg/rvg.rb +2 -0
  29. data/lib/rvg/stretchable.rb +2 -0
  30. data/lib/rvg/stylable.rb +2 -0
  31. data/lib/rvg/text.rb +2 -0
  32. data/lib/rvg/transformable.rb +2 -0
  33. data/lib/rvg/units.rb +2 -0
  34. data/rmagick.gemspec +5 -3
  35. data/sig/rmagick/_draw_common_methods.rbs +2 -0
  36. data/sig/rmagick/_image_common_methods.rbs +4 -2
  37. data/sig/rmagick/draw.rbs +2 -0
  38. data/sig/rmagick/draw_attribute.rbs +2 -0
  39. data/sig/rmagick/enum.rbs +6 -4
  40. data/sig/rmagick/error.rbs +2 -0
  41. data/sig/rmagick/fill.rbs +2 -0
  42. data/sig/rmagick/geometry.rbs +3 -1
  43. data/sig/rmagick/image.rbs +5 -3
  44. data/sig/rmagick/image_list.rbs +23 -21
  45. data/sig/rmagick/iptc.rbs +2 -0
  46. data/sig/rmagick/kernel_info.rbs +2 -0
  47. data/sig/rmagick/optional_method_arguments.rbs +2 -0
  48. data/sig/rmagick/pixel.rbs +2 -0
  49. data/sig/rmagick/struct.rbs +2 -0
  50. data/sig/rvg/embellishable.rbs +1 -1
  51. data/sig/rvg/pathdata.rbs +1 -1
  52. data/sig/rvg/rvg.rbs +1 -1
  53. data/sig/rvg/stylable.rbs +1 -1
  54. data/sig/rvg/text.rbs +1 -1
  55. data/sig/rvg/transformable.rbs +1 -1
  56. metadata +4 -6
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib_dir = File.expand_path('../../lib', File.dirname(__FILE__))
2
4
  $LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)
3
- require 'rubygems'
4
5
  require 'mkmf'
5
6
  require 'pkg-config'
6
7
 
@@ -108,9 +109,6 @@ module RMagick
108
109
 
109
110
  else
110
111
 
111
- check_multiple_imagemagick_versions
112
- check_partial_imagemagick_versions
113
-
114
112
  original_ldflags = $LDFLAGS.dup
115
113
 
116
114
  libdir = PKGConfig.libs_only_L($magick_package).chomp.sub('-L', '')
@@ -127,10 +125,8 @@ module RMagick
127
125
  # if linker does not recognizes '-Wl,-rpath,somewhere' option, it revert to original option
128
126
  $LDFLAGS = "#{original_ldflags} #{ldflags}"
129
127
  end
130
-
131
- configure_archflags_for_osx($magick_package) if RUBY_PLATFORM.include?('darwin') # osx
132
-
133
128
  end
129
+
134
130
  $CPPFLAGS += ' $(optflags) $(debugflags) -fomit-frame-pointer'
135
131
  end
136
132
 
@@ -167,10 +163,14 @@ module RMagick
167
163
 
168
164
  def determine_imagemagick_package
169
165
  packages = [installed_im7_packages, installed_im6_packages].flatten
166
+ return if packages.empty?
170
167
 
171
- if packages.empty?
172
- exit_failure "Can't install RMagick #{RMAGICK_VERS}. Can't find ImageMagick with pkg-config\n"
173
- end
168
+ msg = "\nDetected ImageMagick packages:\n"
169
+ Logging.message msg
170
+ message msg
171
+ package_paths = packages.map { |package| "- #{PKGConfig.package_config(package).pc_path}" }.join("\n")
172
+ Logging.message package_paths + "\n\n"
173
+ message package_paths + "\n\n"
174
174
 
175
175
  if installed_im6_packages.any? && installed_im7_packages.any?
176
176
  checking_for('forced use of ImageMagick 6') do
@@ -185,8 +185,7 @@ module RMagick
185
185
  end
186
186
 
187
187
  if packages.length > 1
188
- package_lines = packages.map { |package| " - #{package}" }.join("\n")
189
- msg = "\nWarning: Found more than one ImageMagick installation. This could cause problems at runtime.\n#{package_lines}\n\n"
188
+ msg = "\nWarning: Found more than one ImageMagick installation. This could cause problems at runtime.\n\n"
190
189
  Logging.message msg
191
190
  message msg
192
191
  end
@@ -194,80 +193,6 @@ module RMagick
194
193
  packages.first
195
194
  end
196
195
 
197
- # Seems like lots of people have multiple versions of ImageMagick installed.
198
- def check_multiple_imagemagick_versions
199
- versions = []
200
- path = ENV['PATH'].split(File::PATH_SEPARATOR)
201
- path.each do |dir|
202
- file = File.join(dir, 'Magick-config')
203
- next unless File.executable? file
204
-
205
- vers = `#{file} --version`.chomp.strip
206
- prefix = `#{file} --prefix`.chomp.strip
207
- versions << [vers, prefix, dir]
208
- end
209
- versions.uniq!
210
- return unless versions.size > 1
211
-
212
- msg = "\nWarning: Found more than one ImageMagick installation. This could cause problems at runtime.\n"
213
- versions.each do |vers, prefix, dir|
214
- msg << " #{dir}/Magick-config reports version #{vers} is installed in #{prefix}\n"
215
- end
216
- msg << "Using #{versions[0][0]} from #{versions[0][1]}.\n\n"
217
- Logging.message msg
218
- message msg
219
- end
220
-
221
- # Ubuntu (maybe other systems) comes with a partial installation of
222
- # ImageMagick in the prefix /usr (some libraries, no includes, and no
223
- # binaries). This causes problems when /usr/lib is in the path (e.g., using
224
- # the default Ruby installation).
225
- def check_partial_imagemagick_versions
226
- prefix = config_string('prefix') || ''
227
- matches = [
228
- prefix + '/lib/lib?agick*',
229
- prefix + '/include/ImageMagick',
230
- prefix + '/bin/Magick-config'
231
- ].map do |file_glob|
232
- Dir.glob(file_glob)
233
- end
234
- matches.delete_if(&:empty?)
235
- return unless !matches.empty? && matches.length < 3
236
-
237
- msg = <<~MESSAGE
238
-
239
- Warning: Found a partial ImageMagick installation. Your operating
240
- system likely has some built-in ImageMagick libraries but not all of
241
- ImageMagick. This will most likely cause problems at both compile and
242
- runtime.
243
- Found partial installation at: #{prefix}
244
-
245
- MESSAGE
246
-
247
- Logging.message msg
248
- message msg
249
- end
250
-
251
- # issue #169
252
- # set ARCHFLAGS appropriately for OSX
253
- def configure_archflags_for_osx(magick_package)
254
- return unless PKGConfig.libs_only_L(magick_package) =~ %r{-L(.+)/lib}
255
-
256
- imagemagick_dir = Regexp.last_match(1)
257
- command = Dir.glob(File.join(imagemagick_dir, "bin/*")).find { |file| File.executable? file }
258
- fileinfo = `file #{command}`
259
-
260
- # default ARCHFLAGS
261
- archs = $ARCH_FLAG.scan(/-arch\s+(\S+)/).flatten
262
-
263
- archflags = []
264
- archs.each do |arch|
265
- archflags << "-arch #{arch}" if fileinfo.include?(arch)
266
- end
267
-
268
- $ARCH_FLAG = archflags.join(' ') unless archflags.empty?
269
- end
270
-
271
196
  def search_paths_for_windows
272
197
  msg = 'searching PATH for the ImageMagick library...'
273
198
  Logging.message msg
@@ -299,7 +224,6 @@ module RMagick
299
224
  end
300
225
 
301
226
  def assert_can_compile!
302
- assert_minimum_ruby_version!
303
227
  assert_has_dev_libs!
304
228
 
305
229
  # Check for compiler. Extract first word so ENV['CXX'] can be a program name with arguments.
@@ -307,14 +231,6 @@ module RMagick
307
231
  exit_failure "No C++ compiler found in ${ENV['PATH']}. See mkmf.log for details." unless find_executable(cxx)
308
232
  end
309
233
 
310
- def assert_minimum_ruby_version!
311
- supported = checking_for("Ruby version >= #{MIN_RUBY_VERS}") do
312
- Gem::Version.new(RUBY_VERSION) >= Gem::Version.new(MIN_RUBY_VERS)
313
- end
314
-
315
- exit_failure "Can't install RMagick #{RMAGICK_VERS}. Ruby #{MIN_RUBY_VERS} or later required.\n" unless supported
316
- end
317
-
318
234
  def assert_has_dev_libs!
319
235
  failure_message = <<~END_FAILURE
320
236
  Can't install RMagick #{RMAGICK_VERS}.
@@ -327,11 +243,10 @@ module RMagick
327
243
  $magick_version = Regexp.last_match(1)
328
244
  exit_failure failure_message unless $magick_version
329
245
  else
330
- unless PKGConfig.libs('MagickCore')[/\bl\s*(MagickCore|Magick)6?\b/]
246
+ unless ($magick_package = determine_imagemagick_package)
331
247
  exit_failure failure_message
332
248
  end
333
249
 
334
- $magick_package = determine_imagemagick_package
335
250
  $magick_version = PKGConfig.modversion($magick_package)[/^(\d+\.\d+\.\d+)/]
336
251
  end
337
252
 
@@ -349,7 +349,7 @@ EXTERN VALUE Class_Chromaticity;
349
349
  EXTERN VALUE Class_Color;
350
350
  EXTERN VALUE Class_Font;
351
351
  EXTERN VALUE Class_Geometry;
352
- EXTERN VALUE Class_GeometryValue; // Defined in RMagick.rb
352
+ EXTERN VALUE Class_GeometryValue; // Defined in rmagick_internal.rb
353
353
  EXTERN VALUE Class_Pixel;
354
354
  EXTERN VALUE Class_Point;
355
355
  EXTERN VALUE Class_PolaroidOptions;
@@ -744,7 +744,7 @@ ImageList_optimize_layers(VALUE self, VALUE method)
744
744
  * No Ruby usage (internal function)
745
745
  *
746
746
  * Notes:
747
- * - this simply calls ImageList.new() in RMagick.rb
747
+ * - this simply calls ImageList.new() in rmagick_internal.rb
748
748
  *
749
749
  * @return a new imagelist
750
750
  */
@@ -11600,6 +11600,8 @@ rd_image(VALUE klass ATTRIBUTE_UNUSED, VALUE file, gvl_function_t fp)
11600
11600
  rm_check_exception(exception, images, DestroyOnError);
11601
11601
  DestroyExceptionInfo(exception);
11602
11602
 
11603
+ rm_ensure_result(images);
11604
+
11603
11605
  rm_set_user_artifact(images, info);
11604
11606
  rm_sync_image_options(images, info);
11605
11607
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Magick
4
- VERSION = '6.0.1'
4
+ VERSION = '6.1.0'
5
5
  MIN_RUBY_VERSION = '3.0.0'
6
6
  MIN_IM_VERSION = '6.8.9'
7
7
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # $Id: RMagick.rb,v 1.84 2009/09/15 22:08:41 rmagick Exp $
3
+ # $Id: rmagick_internal.rb,v 1.84 2009/09/15 22:08:41 rmagick Exp $
4
4
  #==============================================================================
5
5
  # Copyright (C) 2009 by Timothy P. Hunter
6
- # Name: RMagick.rb
6
+ # Name: rmagick_internal.rb
7
7
  # Author: Tim Hunter
8
8
  # Purpose: Extend Ruby to interface with ImageMagick.
9
9
  # Notes: RMagick2.so defines the classes. The code below adds methods
data/lib/rvg/clippath.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # $Id: clippath.rb,v 1.5 2009/02/28 23:52:13 rmagick Exp $
3
5
  # Copyright (C) 2009 Timothy P. Hunter
data/lib/rvg/container.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # $Id: container.rb,v 1.5 2009/02/28 23:52:13 rmagick Exp $
3
5
  # Copyright (C) 2009 Timothy P. Hunter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class RVG
3
5
  [PathData, Styles, Transforms].each do |c|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # $Id: describable.rb,v 1.5 2009/02/28 23:52:13 rmagick Exp $
3
5
  # Copyright (C) 2009 Timothy P. Hunter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # $Id: embellishable.rb,v 1.9 2009/02/28 23:52:13 rmagick Exp $
3
5
  # Copyright (C) 2009 Timothy P. Hunter
data/lib/rvg/misc.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # $Id: misc.rb,v 1.17 2010/03/21 01:43:01 baror Exp $
2
4
  # Copyright (C) 2009 Timothy P. Hunter
3
5
  module Magick
data/lib/rvg/paint.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # $Id: paint.rb,v 1.6 2009/02/28 23:52:28 rmagick Exp $
3
5
  # Copyright (C) 2009 Timothy P. Hunter
data/lib/rvg/pathdata.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # $Id: pathdata.rb,v 1.5 2009/02/28 23:52:28 rmagick Exp $
3
5
  # Copyright (C) 2009 Timothy P. Hunter
data/lib/rvg/rvg.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--############################################################################
2
4
  # $Id: rvg.rb,v 1.10 2009/02/28 23:52:28 rmagick Exp $
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # $Id: stretchable.rb,v 1.7 2009/02/28 23:52:28 rmagick Exp $
3
5
  # Copyright (C) 2009 Timothy P. Hunter
data/lib/rvg/stylable.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # $Id: stylable.rb,v 1.7 2009/02/28 23:52:28 rmagick Exp $
3
5
  # Copyright (C) 2009 Timothy P. Hunter
data/lib/rvg/text.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # $Id: text.rb,v 1.7 2009/02/28 23:52:28 rmagick Exp $
3
5
  # Copyright (C) 2009 Timothy P. Hunter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  #--
2
4
  # $Id: transformable.rb,v 1.5 2009/02/28 23:52:28 rmagick Exp $
3
5
  # Copyright (C) 2009 Timothy P. Hunter
data/lib/rvg/units.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # $Id: units.rb,v 1.5 2009/02/28 23:52:28 rmagick Exp $
2
4
  # Copyright (C) 2009 Timothy P. Hunter
3
5
  module Magick
data/rmagick.gemspec CHANGED
@@ -1,4 +1,5 @@
1
- require 'date'
1
+ # frozen_string_literal: true
2
+
2
3
  require 'English'
3
4
  require './lib/rmagick/version'
4
5
 
@@ -15,6 +16,7 @@ Gem::Specification.new do |s|
15
16
  s.metadata['bug_tracker_uri'] = 'https://github.com/rmagick/rmagick/issues'
16
17
  s.metadata['documentation_uri'] = 'https://rmagick.github.io/'
17
18
  s.metadata['changelog_uri'] = 'https://github.com/rmagick/rmagick/blob/main/CHANGELOG.md'
19
+ s.metadata['rubygems_mfa_required'] = 'true'
18
20
 
19
21
  tracked_files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
20
22
  file_exclusion_regex = /\A(doc|benchmarks|examples|spec|Steepfile)/
@@ -27,6 +29,6 @@ Gem::Specification.new do |s|
27
29
  s.required_ruby_version = ">= #{Magick::MIN_RUBY_VERSION}"
28
30
  s.requirements << "ImageMagick #{Magick::MIN_IM_VERSION} or later"
29
31
 
30
- s.add_runtime_dependency 'observer', '~> 0.1'
31
- s.add_runtime_dependency 'pkg-config', '~> 1.4'
32
+ s.add_dependency 'observer', '~> 0.1'
33
+ s.add_dependency 'pkg-config', '~> 1.4'
32
34
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  interface _DrawCommonMethods
3
5
  def affine: (magick_real sx, magick_real rx, magick_real ry, magick_real sy, magick_real tx, magick_real ty) -> self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  interface _ImageCommonMethods
3
5
  # Magick::Image / Magick::ImageList common methods
@@ -20,7 +22,7 @@ module Magick
20
22
  def matte_replace: (int x, int y) -> Image
21
23
  def matte_floodfill: (int x, int y) -> Image
22
24
  def matte_fill_to_border: (int x, int y) -> Image
23
- def matte_reset!: -> Image
25
+ def matte_reset!: () -> Image
24
26
  def resize_to_fill: (real ncols, ?real nrows, ?GravityType gravity) -> Image
25
27
  def resize_to_fill!: (real ncols, ?real nrows, ?GravityType gravity) -> Image
26
28
  alias crop_resized resize_to_fill
@@ -304,7 +306,7 @@ module Magick
304
306
  def raise: (?int width, ?int height, ?bool raised) -> Image
305
307
  def random_threshold_channel: (Geometry | string geometry, *ChannelType channel) -> Image
306
308
  def recolor: (Array[magick_real] color_matrix) -> Image
307
- def reduce_noise: (int radius) -> Image
309
+ def reduce_noise: (int radius) -> Image
308
310
  def resample: (?magick_real x_resolution, ?magick_real y_resolution, ?FilterType filter, ?magick_real blur) -> Image
309
311
  def resample!: (?magick_real x_resolution, ?magick_real y_resolution, ?FilterType filter, ?magick_real blur) -> self
310
312
  def resize: (magick_real scale) -> Image
data/sig/rmagick/draw.rbs CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class Draw
3
5
  include DrawAttribute
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  module DrawAttribute
3
5
  attr_writer affine: AffineMatrix
data/sig/rmagick/enum.rbs CHANGED
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class Enum
3
5
  def initialize: (interned sym, int val) -> void
4
- def to_s: -> String
5
- def to_i: -> Integer
6
+ def to_s: () -> String
7
+ def to_i: () -> Integer
6
8
  def <=>: (Enum other) -> (-1 | 0 | 1 | nil)
7
9
  def ===: (Enum other) -> bool
8
10
  def |: (Enum other) -> Enum
@@ -10,11 +12,11 @@ module Magick
10
12
 
11
13
  interface _EnumInstanceMethod
12
14
  def initialize: (interned sym, int val) -> void
13
- def inspect: -> String
15
+ def inspect: () -> String
14
16
  end
15
17
 
16
18
  interface _EnumClassMethod[T]
17
- def values: -> Array[T]
19
+ def values: () -> Array[T]
18
20
  end
19
21
 
20
22
  class GeometryValue < Enum
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class ImageMagickError < StandardError
3
5
  attr_reader magick_location: String
data/sig/rmagick/fill.rbs CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class GradientFill
3
5
  include _Fill
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class Geometry
3
5
  attr_accessor width: Integer | Float
@@ -8,7 +10,7 @@ module Magick
8
10
 
9
11
  def initialize: (?magick_real? width, ?magick_real? height, ?real? x, ?real? y, ?GeometryValue? flag) -> void
10
12
  def self.from_s: (String str) -> Geometry
11
- def to_s: -> String
13
+ def to_s: () -> String
12
14
  end
13
15
  end
14
16
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class Image
3
5
  include Comparable
@@ -29,7 +31,7 @@ module Magick
29
31
  def []=: (interned key_arg, String attr_arg) -> self
30
32
  def delay=: (int val) -> int
31
33
  def display: () -> self
32
- | () { (Image::Info) -> void} -> self
34
+ | () { (Image::Info) -> void } -> self
33
35
  def marshal_dump: () -> [String, String]
34
36
  def marshal_load: ([string, string] ary) -> self
35
37
  def montage: () -> String?
@@ -37,9 +39,9 @@ module Magick
37
39
  def scene: () -> Integer
38
40
  def ticks_per_second=: (int tps) -> int
39
41
  def to_blob: () -> String?
40
- | () { (Image::Info) -> void} -> String?
42
+ | () { (Image::Info) -> void } -> String?
41
43
  def write: (File | string file) -> self
42
- | (File | string file) { (Image::Info) -> void} -> self
44
+ | (File | string file) { (Image::Info) -> void } -> self
43
45
  def destroy!: () -> self
44
46
  def destroyed?: () -> bool
45
47
 
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class ImageList
3
5
  include Enumerable[Image]
4
6
  include Comparable
5
- # The methods of Magick::Image class can be called via method_missing
6
- include _ImageCommonMethods
7
+ # The methods of Magick::Image class can be called via method_missing
8
+ include _ImageCommonMethods
7
9
 
8
10
  private
9
11
 
@@ -37,7 +39,7 @@ module Magick
37
39
  | (int start, int length, magick_image | Array[Image] image) -> void
38
40
  def at: () -> Image
39
41
  def each: () -> Enumerator[Image, self]
40
- | () { (Image) -> void} -> void
42
+ | () { (Image) -> void } -> void
41
43
  def each_index: () -> Enumerator[Integer, self]
42
44
  | () { (Integer) -> void } -> void
43
45
  def empty?: () -> bool
@@ -49,11 +51,11 @@ module Magick
49
51
  def hash: () -> Integer
50
52
  def include?: (untyped obj) -> bool
51
53
  def index: (Image | ImageList | Array[Image] obj) -> ::Integer?
52
- | () { (Image) -> bool } -> Integer?
54
+ | () { (Image) -> boolish } -> Integer?
53
55
  | () -> ::Enumerator[Image, Integer?]
54
56
  def length: () -> Integer
55
- def rindex: (Image | ImageList | Array[Image] obj) -> ::Integer?
56
- | () { (Image) -> bool } -> Integer?
57
+ def rindex: (Image | ImageList | Array[Image] obj) -> ::Integer?
58
+ | () { (Image) -> boolish } -> Integer?
57
59
  | () -> ::Enumerator[Image, Integer?]
58
60
  def sort!: () -> self
59
61
  | () { (Image a, Image b) -> Integer } -> self
@@ -62,31 +64,31 @@ module Magick
62
64
  | ...
63
65
  def collect: () { (Image) -> Image } -> ImageList
64
66
  def collect!: () { (Image) -> Image } -> self
65
- def copy: -> ImageList
67
+ def copy: () -> ImageList
66
68
  | ...
67
- def cur_image: -> Image
69
+ def cur_image: () -> Image
68
70
  | ...
69
71
  alias map collect
70
72
  alias __map__ collect
71
73
  alias map! collect!
72
74
  alias __map__! collect!
73
- def compact: -> ImageList
74
- def compact!: -> self?
75
+ def compact: () -> ImageList
76
+ def compact!: () -> self?
75
77
  def concat: (ImageList | Array[Image] other) -> self
76
78
  def delay=: (int d) -> void
77
79
  def delete: (Image obj) -> Image?
78
80
  | [T] (Image obj) { (Image) -> T } -> (Image | T)
79
81
  def delete_at: (int ndx) -> Image?
80
- def delete_if: () { (Image) -> bool } -> self
82
+ def delete_if: () { (Image) -> boolish } -> self
81
83
  | () -> self
82
- def dup: -> ImageList
84
+ def dup: () -> ImageList
83
85
  | ...
84
86
  def eql?: (ImageList | Array[Image] other) -> bool
85
87
  def fill: (Image image, ?int start, ?int length) -> ImageList
86
88
  | (Image image, Range[Integer] range) -> ImageList
87
89
  | (?int start, ?int length) { (Integer index) -> Image } -> ImageList
88
90
  | (Range[Integer] range) { (Integer index) -> Image } -> ImageList
89
- def find_all: () { (Image) -> bool } -> ImageList
91
+ def find_all: () { (Image) -> boolish } -> ImageList
90
92
  | () -> ImageList
91
93
  alias select find_all
92
94
  def from_blob: (string blob) -> self
@@ -97,24 +99,24 @@ module Magick
97
99
  def iterations=: (int n) -> void
98
100
  def last: () -> Image?
99
101
  | (int n) -> ImageList
100
- def marshal_dump: () -> (Array[(Integer | String)?])
102
+ def marshal_dump: () -> Array[(Integer | String)?]
101
103
  def marshal_load: (Array[(Integer | String)?] ary) -> void
102
104
  def method_missing: (untyped meth_id, *untyped args) ?{ (*untyped, **untyped) -> untyped } -> untyped
103
105
  def new_image: (int cols, int rows, ?magick_fill fill) -> self
104
106
  | (int cols, int rows, ?magick_fill fill) { (Image::Info) -> void } -> self
105
- def partition: () { (Image) -> bool } -> [ImageList, ImageList]
107
+ def partition: () { (Image) -> boolish } -> [ImageList, ImageList]
106
108
  def ping: (*(File | string) files) -> self
107
109
  | (*(File | string) files) { (Image::Info) -> void } -> self
108
110
  def pop: () -> Image?
109
111
  def push: (*Image objs) -> self
110
112
  def read: (*(File | string) files) -> self
111
113
  | (*(File | string) files) { (Image::Info) -> void } -> self
112
- def reject: () { (Image) -> bool } -> ImageList
113
- def reject!: () { (Image) -> bool } -> self?
114
+ def reject: () { (Image) -> boolish } -> ImageList
115
+ def reject!: () { (Image) -> boolish } -> self?
114
116
  def replace: (ImageList | Array[Image] other) -> ImageList
115
117
  def respond_to?: (interned meth_id, ?bool priv) -> bool
116
- def reverse: -> ImageList
117
- def reverse!: -> self
118
+ def reverse: () -> ImageList
119
+ def reverse!: () -> self
118
120
  def reverse_each: () { (Image) -> void } -> self
119
121
  def shift: () -> Image?
120
122
  def slice: (int index) -> ImageList?
@@ -125,7 +127,7 @@ module Magick
125
127
  | (Range[Integer] range) -> Image?
126
128
  def ticks_per_second=: (int t) -> void
127
129
  def to_a: () -> Array[Image]
128
- def uniq: -> ImageList
130
+ def uniq: () -> ImageList
129
131
  def uniq!: () -> self?
130
132
  def unshift: (Image obj) -> self
131
133
  def values_at: (*int index) -> ImageList
@@ -152,7 +154,7 @@ module Magick
152
154
  def optimize_layers: (LayerMethod method) -> ImageList
153
155
  def quantize: (?int number_colors, ?ColorspaceType colorspace, ?(DitherMethod | bool) dither, ?int tree_depth, ?bool measure_error) -> ImageList
154
156
  def to_blob: () -> String?
155
- | () { (Image::Info) -> void} -> String?
157
+ | () { (Image::Info) -> void } -> String?
156
158
  def write: (File | string file) -> self
157
159
  | (File | string file) { (Image::Info) -> void } -> self
158
160
  def destroy!: () -> self
data/sig/rmagick/iptc.rbs CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  module IPTC
3
5
  module Envelope
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class KernelInfo
3
5
  def self.builtin: (KernelInfoType what, string geometry) -> KernelInfo
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class OptionalMethodArguments
3
5
  attr_writer highlight_color: magick_color
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class Pixel
3
5
  # TODO:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Magick
2
4
  class AffineMatrix < Struct[untyped]
3
5
  attr_accessor sx: real
@@ -197,7 +197,7 @@ module Magick
197
197
  # Define grouped elements by calling RVG::Embellishable
198
198
  # methods within the associated block.
199
199
  def g: () -> Group
200
- | { (Group) -> void } -> Group
200
+ | () { (Group) -> void } -> Group
201
201
  end
202
202
 
203
203
  # Methods that construct raster image objects within a container
data/sig/rvg/pathdata.rbs CHANGED
@@ -20,7 +20,7 @@ module Magick
20
20
  def to_s: () -> String
21
21
 
22
22
  # @private
23
- def deep_copy: (?untyped? _h) -> String
23
+ def deep_copy: (?untyped _h) -> String
24
24
 
25
25
  # Add a <tt>moveto</tt> command. If <tt>abs</tt> is
26
26
  # <tt>true</tt> the coordinates are absolute, otherwise