rmagick 4.2.6 → 5.5.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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/ImageMagick6/devcontainer.json +1 -1
  3. data/.devcontainer/{ImageMagick7/devcontainer.json → devcontainer.json} +2 -2
  4. data/.devcontainer/setup-user.sh +1 -1
  5. data/.editorconfig +1 -1
  6. data/.github/workflows/ci.yml +87 -9
  7. data/.gitignore +4 -0
  8. data/.rubocop_todo.yml +16 -9
  9. data/.yardopts +1 -1
  10. data/CHANGELOG.md +130 -0
  11. data/Gemfile +20 -0
  12. data/README.md +10 -17
  13. data/Rakefile +63 -80
  14. data/before_install_linux.sh +3 -3
  15. data/before_install_osx.sh +6 -5
  16. data/ext/RMagick/extconf.rb +112 -52
  17. data/ext/RMagick/{rmagick.c → rmagick.cpp} +19 -22
  18. data/ext/RMagick/rmagick.h +88 -59
  19. data/ext/RMagick/rmagick_gvl.h +224 -0
  20. data/ext/RMagick/{rmdraw.c → rmdraw.cpp} +170 -159
  21. data/ext/RMagick/{rmenum.c → rmenum.cpp} +69 -50
  22. data/ext/RMagick/{rmfill.c → rmfill.cpp} +85 -24
  23. data/ext/RMagick/{rmilist.c → rmilist.cpp} +191 -93
  24. data/ext/RMagick/{rmimage.c → rmimage.cpp} +1543 -989
  25. data/ext/RMagick/{rminfo.c → rminfo.cpp} +140 -152
  26. data/ext/RMagick/{rmkinfo.c → rmkinfo.cpp} +46 -34
  27. data/ext/RMagick/rmmain.cpp +1923 -0
  28. data/ext/RMagick/{rmmontage.c → rmmontage.cpp} +50 -29
  29. data/ext/RMagick/{rmpixel.c → rmpixel.cpp} +108 -83
  30. data/ext/RMagick/{rmstruct.c → rmstruct.cpp} +6 -6
  31. data/ext/RMagick/{rmutil.c → rmutil.cpp} +62 -161
  32. data/lib/rmagick/version.rb +3 -1
  33. data/lib/rmagick.rb +2 -0
  34. data/lib/rmagick_internal.rb +76 -110
  35. data/lib/rvg/embellishable.rb +6 -2
  36. data/lib/rvg/misc.rb +7 -7
  37. data/lib/rvg/rvg.rb +2 -0
  38. data/lib/rvg/stretchable.rb +2 -2
  39. data/lib/rvg/transformable.rb +1 -1
  40. data/rmagick.gemspec +4 -13
  41. data/sig/rmagick/_draw_common_methods.rbs +64 -0
  42. data/sig/rmagick/_image_common_methods.rbs +389 -0
  43. data/sig/rmagick/draw.rbs +38 -0
  44. data/sig/rmagick/draw_attribute.rbs +28 -0
  45. data/sig/rmagick/enum.rbs +814 -0
  46. data/sig/rmagick/error.rbs +11 -0
  47. data/sig/rmagick/fill.rbs +21 -0
  48. data/sig/rmagick/geometry.rbs +14 -0
  49. data/sig/rmagick/image.rbs +194 -0
  50. data/sig/rmagick/image_list.rbs +181 -0
  51. data/sig/rmagick/iptc.rbs +101 -0
  52. data/sig/rmagick/kernel_info.rbs +12 -0
  53. data/sig/rmagick/optional_method_arguments.rbs +10 -0
  54. data/sig/rmagick/pixel.rbs +46 -0
  55. data/sig/rmagick/struct.rbs +90 -0
  56. data/sig/rmagick.rbs +43 -0
  57. data/sig/rvg/clippath.rbs +34 -0
  58. data/sig/rvg/container.rbs +78 -0
  59. data/sig/rvg/deep_equal.rbs +48 -0
  60. data/sig/rvg/describable.rbs +30 -0
  61. data/sig/rvg/embellishable.rbs +226 -0
  62. data/sig/rvg/misc.rbs +145 -0
  63. data/sig/rvg/paint.rbs +55 -0
  64. data/sig/rvg/pathdata.rbs +77 -0
  65. data/sig/rvg/rvg.rbs +125 -0
  66. data/sig/rvg/stretchable.rbs +56 -0
  67. data/sig/rvg/stylable.rbs +66 -0
  68. data/sig/rvg/text.rbs +118 -0
  69. data/sig/rvg/transformable.rbs +59 -0
  70. data/sig/rvg/units.rbs +33 -0
  71. metadata +59 -129
  72. data/.codeclimate.yml +0 -63
  73. data/deprecated/RMagick.rb +0 -6
  74. data/ext/RMagick/rmmain.c +0 -1951
metadata CHANGED
@@ -1,144 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rmagick
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.6
4
+ version: 5.5.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:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2022-07-15 00:00:00.000000000 Z
14
+ date: 2024-04-06 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: pry
17
+ name: pkg-config
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
20
  - - "~>"
21
21
  - !ruby/object:Gem::Version
22
- version: '0.14'
23
- type: :development
22
+ version: '1.4'
23
+ type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '0.14'
29
+ version: '1.4'
30
30
  - !ruby/object:Gem::Dependency
31
- name: rake-compiler
31
+ name: observer
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
34
  - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: '1.0'
37
- type: :development
36
+ version: '0.1'
37
+ type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: '1.0'
44
- - !ruby/object:Gem::Dependency
45
- name: rspec
46
- requirement: !ruby/object:Gem::Requirement
47
- requirements:
48
- - - "~>"
49
- - !ruby/object:Gem::Version
50
- version: '3.8'
51
- type: :development
52
- prerelease: false
53
- version_requirements: !ruby/object:Gem::Requirement
54
- requirements:
55
- - - "~>"
56
- - !ruby/object:Gem::Version
57
- version: '3.8'
58
- - !ruby/object:Gem::Dependency
59
- name: rspec_junit_formatter
60
- requirement: !ruby/object:Gem::Requirement
61
- requirements:
62
- - - "~>"
63
- - !ruby/object:Gem::Version
64
- version: 0.4.1
65
- type: :development
66
- prerelease: false
67
- version_requirements: !ruby/object:Gem::Requirement
68
- requirements:
69
- - - "~>"
70
- - !ruby/object:Gem::Version
71
- version: 0.4.1
72
- - !ruby/object:Gem::Dependency
73
- name: rubocop
74
- requirement: !ruby/object:Gem::Requirement
75
- requirements:
76
- - - "~>"
77
- - !ruby/object:Gem::Version
78
- version: 0.81.0
79
- type: :development
80
- prerelease: false
81
- version_requirements: !ruby/object:Gem::Requirement
82
- requirements:
83
- - - "~>"
84
- - !ruby/object:Gem::Version
85
- version: 0.81.0
86
- - !ruby/object:Gem::Dependency
87
- name: rubocop-rspec
88
- requirement: !ruby/object:Gem::Requirement
89
- requirements:
90
- - - "~>"
91
- - !ruby/object:Gem::Version
92
- version: 1.38.1
93
- type: :development
94
- prerelease: false
95
- version_requirements: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - "~>"
98
- - !ruby/object:Gem::Version
99
- version: 1.38.1
100
- - !ruby/object:Gem::Dependency
101
- name: rubocop-performance
102
- requirement: !ruby/object:Gem::Requirement
103
- requirements:
104
- - - "~>"
105
- - !ruby/object:Gem::Version
106
- version: 1.5.2
107
- type: :development
108
- prerelease: false
109
- version_requirements: !ruby/object:Gem::Requirement
110
- requirements:
111
- - - "~>"
112
- - !ruby/object:Gem::Version
113
- version: 1.5.2
114
- - !ruby/object:Gem::Dependency
115
- name: simplecov
116
- requirement: !ruby/object:Gem::Requirement
117
- requirements:
118
- - - "~>"
119
- - !ruby/object:Gem::Version
120
- version: 0.16.1
121
- type: :development
122
- prerelease: false
123
- version_requirements: !ruby/object:Gem::Requirement
124
- requirements:
125
- - - "~>"
126
- - !ruby/object:Gem::Version
127
- version: 0.16.1
128
- - !ruby/object:Gem::Dependency
129
- name: yard
130
- requirement: !ruby/object:Gem::Requirement
131
- requirements:
132
- - - "~>"
133
- - !ruby/object:Gem::Version
134
- version: 0.9.24
135
- type: :development
136
- prerelease: false
137
- version_requirements: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - "~>"
140
- - !ruby/object:Gem::Version
141
- version: 0.9.24
43
+ version: '0.1'
142
44
  description: RMagick is an interface between Ruby and ImageMagick.
143
45
  email: github@benjaminfleischer.com
144
46
  executables: []
@@ -146,10 +48,9 @@ extensions:
146
48
  - ext/RMagick/extconf.rb
147
49
  extra_rdoc_files: []
148
50
  files:
149
- - ".codeclimate.yml"
150
51
  - ".devcontainer/Dockerfile"
151
52
  - ".devcontainer/ImageMagick6/devcontainer.json"
152
- - ".devcontainer/ImageMagick7/devcontainer.json"
53
+ - ".devcontainer/devcontainer.json"
153
54
  - ".devcontainer/setup-repo.sh"
154
55
  - ".devcontainer/setup-user.sh"
155
56
  - ".editorconfig"
@@ -169,22 +70,22 @@ files:
169
70
  - Rakefile
170
71
  - before_install_linux.sh
171
72
  - before_install_osx.sh
172
- - deprecated/RMagick.rb
173
73
  - ext/RMagick/extconf.rb
174
- - ext/RMagick/rmagick.c
74
+ - ext/RMagick/rmagick.cpp
175
75
  - ext/RMagick/rmagick.h
176
- - ext/RMagick/rmdraw.c
177
- - ext/RMagick/rmenum.c
178
- - ext/RMagick/rmfill.c
179
- - ext/RMagick/rmilist.c
180
- - ext/RMagick/rmimage.c
181
- - ext/RMagick/rminfo.c
182
- - ext/RMagick/rmkinfo.c
183
- - ext/RMagick/rmmain.c
184
- - ext/RMagick/rmmontage.c
185
- - ext/RMagick/rmpixel.c
186
- - ext/RMagick/rmstruct.c
187
- - ext/RMagick/rmutil.c
76
+ - ext/RMagick/rmagick_gvl.h
77
+ - ext/RMagick/rmdraw.cpp
78
+ - ext/RMagick/rmenum.cpp
79
+ - ext/RMagick/rmfill.cpp
80
+ - ext/RMagick/rmilist.cpp
81
+ - ext/RMagick/rmimage.cpp
82
+ - ext/RMagick/rminfo.cpp
83
+ - ext/RMagick/rmkinfo.cpp
84
+ - ext/RMagick/rmmain.cpp
85
+ - ext/RMagick/rmmontage.cpp
86
+ - ext/RMagick/rmpixel.cpp
87
+ - ext/RMagick/rmstruct.cpp
88
+ - ext/RMagick/rmutil.cpp
188
89
  - lib/rmagick.rb
189
90
  - lib/rmagick/version.rb
190
91
  - lib/rmagick_internal.rb
@@ -203,16 +104,45 @@ files:
203
104
  - lib/rvg/transformable.rb
204
105
  - lib/rvg/units.rb
205
106
  - rmagick.gemspec
107
+ - sig/rmagick.rbs
108
+ - sig/rmagick/_draw_common_methods.rbs
109
+ - sig/rmagick/_image_common_methods.rbs
110
+ - sig/rmagick/draw.rbs
111
+ - sig/rmagick/draw_attribute.rbs
112
+ - sig/rmagick/enum.rbs
113
+ - sig/rmagick/error.rbs
114
+ - sig/rmagick/fill.rbs
115
+ - sig/rmagick/geometry.rbs
116
+ - sig/rmagick/image.rbs
117
+ - sig/rmagick/image_list.rbs
118
+ - sig/rmagick/iptc.rbs
119
+ - sig/rmagick/kernel_info.rbs
120
+ - sig/rmagick/optional_method_arguments.rbs
121
+ - sig/rmagick/pixel.rbs
122
+ - sig/rmagick/struct.rbs
123
+ - sig/rvg/clippath.rbs
124
+ - sig/rvg/container.rbs
125
+ - sig/rvg/deep_equal.rbs
126
+ - sig/rvg/describable.rbs
127
+ - sig/rvg/embellishable.rbs
128
+ - sig/rvg/misc.rbs
129
+ - sig/rvg/paint.rbs
130
+ - sig/rvg/pathdata.rbs
131
+ - sig/rvg/rvg.rbs
132
+ - sig/rvg/stretchable.rbs
133
+ - sig/rvg/stylable.rbs
134
+ - sig/rvg/text.rbs
135
+ - sig/rvg/transformable.rbs
136
+ - sig/rvg/units.rbs
206
137
  homepage: https://github.com/rmagick/rmagick
207
138
  licenses:
208
139
  - MIT
209
140
  metadata: {}
210
- post_install_message:
141
+ post_install_message:
211
142
  rdoc_options: []
212
143
  require_paths:
213
144
  - lib
214
145
  - ext
215
- - deprecated
216
146
  required_ruby_version: !ruby/object:Gem::Requirement
217
147
  requirements:
218
148
  - - ">="
@@ -225,8 +155,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
155
  version: '0'
226
156
  requirements:
227
157
  - ImageMagick 6.7.7 or later
228
- rubygems_version: 3.2.32
229
- signing_key:
158
+ rubygems_version: 3.4.10
159
+ signing_key:
230
160
  specification_version: 4
231
161
  summary: Ruby binding to ImageMagick
232
162
  test_files: []
data/.codeclimate.yml DELETED
@@ -1,63 +0,0 @@
1
- engines:
2
- cppcheck:
3
- enabled: true
4
- checks:
5
- variableScope:
6
- enabled: false
7
- toomanyconfigs:
8
- enabled: false
9
- invalidPrintfArgType_sint:
10
- enabled: false
11
- redundantAssignment:
12
- enabled: false
13
- selfAssignment:
14
- enabled: false
15
- unreachableCode:
16
- enabled: false
17
- unsignedLessThanZero:
18
- enabled: false
19
- toomanyconfigs:
20
- enabled: false
21
- complex-definition:
22
- enabled: false
23
-
24
- markdownlint:
25
- enabled: true
26
- checks:
27
- # Line length
28
- MD013:
29
- enabled: false
30
- # Emphasis used instead of a header
31
- MD036:
32
- enabled: false
33
- # Hard tabs
34
- MD010:
35
- enabled: false
36
- # Dollar signs used before commands without showing output
37
- MD014:
38
- enabled: false
39
- # Headers should be surrounded by blank lines
40
- MD022:
41
- enabled: false
42
- # Multiple consecutive blank lines
43
- MD012:
44
- enabled: false
45
- # Bare URL used
46
- MD034:
47
- enabled: false
48
- # Ordered list item prefix
49
- MD029:
50
- enabled: false
51
- # Lists should be surrounded by blank lines
52
- MD032:
53
- enabled: false
54
- # Code block style
55
- MD046:
56
- enabled: false
57
- # Header style
58
- MD003:
59
- enabled: false
60
- # Spaces after list markers
61
- MD030:
62
- enabled: false
63
-
@@ -1,6 +0,0 @@
1
- # This file is added to the require_paths in rmagick.gemspec
2
- # That should be removed as well when this file is removed
3
-
4
- warn '[DEPRECATION] requiring "RMagick" is deprecated. Use "rmagick" instead'
5
-
6
- require 'rmagick_internal'