rmagick 6.0.0 → 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 +7 -0
  7. data/.rubocop_todo.yml +53 -91
  8. data/CHANGELOG.md +22 -0
  9. data/Gemfile +4 -0
  10. data/README.md +14 -9
  11. data/Rakefile +36 -13
  12. data/before_install_linux.sh +3 -1
  13. data/before_install_osx.sh +8 -4
  14. data/ext/RMagick/extconf.rb +15 -98
  15. data/ext/RMagick/rmagick.h +3 -3
  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 +6 -9
  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 +9 -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 +8 -7
@@ -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
data/sig/rvg/rvg.rbs CHANGED
@@ -55,7 +55,7 @@ module Magick
55
55
  private
56
56
 
57
57
  def bgfill: () -> Magick::Pixel
58
- def new_canvas: () -> Magick::Image
58
+ def new_canvas: () -> Magick::Image
59
59
 
60
60
  public
61
61
 
data/sig/rvg/stylable.rbs CHANGED
@@ -8,7 +8,7 @@ module Magick
8
8
  def each_value: () { (Symbol, untyped) -> void } -> void
9
9
 
10
10
  # The "usual" deep_copy method doesn't copy a Struct correctly.
11
- def deep_copy: (?untyped? _h) -> Styles
11
+ def deep_copy: (?untyped _h) -> Styles
12
12
 
13
13
  def self.new: (*untyped obj) -> Styles
14
14
  end
data/sig/rvg/text.rbs CHANGED
@@ -17,7 +17,7 @@ module Magick
17
17
  include Duplicatable
18
18
 
19
19
  def initialize: (interned? text) -> void
20
- | (interned? text) { (self) -> void } -> void
20
+ | (interned? text) { (self) -> void } -> void
21
21
 
22
22
  # Create a new text chunk. Each chunk can have its own initial position and styles.
23
23
  # If <tt>x</tt> and <tt>y</tt> are omitted the text starts at the current text
@@ -4,7 +4,7 @@ module Magick
4
4
  # During unit-testing it also has a deep_equal method.
5
5
  # @private
6
6
  class Transforms < Array[untyped]
7
- def deep_copy: (?untyped? _h) -> Transforms
7
+ def deep_copy: (?untyped _h) -> Transforms
8
8
  end
9
9
 
10
10
  # Transformations are operations on the coordinate system.
metadata CHANGED
@@ -1,17 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rmagick
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Hunter
8
8
  - Omer Bar-or
9
9
  - Benjamin Thomas
10
10
  - Moncef Maiza
11
- autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2024-05-02 00:00:00.000000000 Z
13
+ date: 2025-01-18 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: observer
@@ -137,8 +136,11 @@ files:
137
136
  homepage: https://github.com/rmagick/rmagick
138
137
  licenses:
139
138
  - MIT
140
- metadata: {}
141
- post_install_message:
139
+ metadata:
140
+ bug_tracker_uri: https://github.com/rmagick/rmagick/issues
141
+ documentation_uri: https://rmagick.github.io/
142
+ changelog_uri: https://github.com/rmagick/rmagick/blob/main/CHANGELOG.md
143
+ rubygems_mfa_required: 'true'
142
144
  rdoc_options: []
143
145
  require_paths:
144
146
  - lib
@@ -155,8 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
157
  version: '0'
156
158
  requirements:
157
159
  - ImageMagick 6.8.9 or later
158
- rubygems_version: 3.4.10
159
- signing_key:
160
+ rubygems_version: 3.6.2
160
161
  specification_version: 4
161
162
  summary: Ruby binding to ImageMagick
162
163
  test_files: []