rmagick 2.16.0 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rmagick might be problematic. Click here for more details.

Files changed (405) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +63 -0
  3. data/.devcontainer/Dockerfile +14 -0
  4. data/.devcontainer/ImageMagick6/devcontainer.json +11 -0
  5. data/.devcontainer/devcontainer.json +11 -0
  6. data/.devcontainer/setup-repo.sh +10 -0
  7. data/.devcontainer/setup-user.sh +45 -0
  8. data/.editorconfig +3 -0
  9. data/.github/ISSUE_TEMPLATE.md +17 -0
  10. data/.github/workflows/ci.yml +79 -0
  11. data/.gitignore +5 -1
  12. data/.rspec +1 -0
  13. data/.rubocop.yml +37 -340
  14. data/.rubocop_todo.yml +448 -0
  15. data/.yardopts +5 -0
  16. data/CHANGELOG.md +435 -0
  17. data/CODE_OF_CONDUCT.md +122 -7
  18. data/CONTRIBUTING.md +37 -6
  19. data/Gemfile +0 -6
  20. data/README.md +317 -0
  21. data/Rakefile +37 -35
  22. data/before_install_linux.sh +65 -28
  23. data/before_install_osx.sh +58 -2
  24. data/ext/RMagick/extconf.rb +286 -393
  25. data/ext/RMagick/rmagick.c +106 -111
  26. data/ext/RMagick/rmagick.h +235 -331
  27. data/ext/RMagick/rmagick_gvl.h +224 -0
  28. data/ext/RMagick/rmdraw.c +484 -842
  29. data/ext/RMagick/rmenum.c +316 -755
  30. data/ext/RMagick/rmfill.c +281 -191
  31. data/ext/RMagick/rmilist.c +450 -455
  32. data/ext/RMagick/rmimage.c +6247 -5289
  33. data/ext/RMagick/rminfo.c +721 -894
  34. data/ext/RMagick/rmkinfo.c +228 -0
  35. data/ext/RMagick/rmmain.c +727 -519
  36. data/ext/RMagick/rmmontage.c +127 -172
  37. data/ext/RMagick/rmpixel.c +638 -431
  38. data/ext/RMagick/rmstruct.c +102 -282
  39. data/ext/RMagick/rmutil.c +450 -363
  40. data/lib/rmagick/version.rb +5 -4
  41. data/lib/rmagick.rb +2 -0
  42. data/lib/rmagick_internal.rb +349 -413
  43. data/lib/rvg/clippath.rb +3 -4
  44. data/lib/rvg/container.rb +30 -22
  45. data/lib/rvg/deep_equal.rb +11 -11
  46. data/lib/rvg/describable.rb +2 -2
  47. data/lib/rvg/embellishable.rb +63 -68
  48. data/lib/rvg/misc.rb +136 -139
  49. data/lib/rvg/paint.rb +2 -1
  50. data/lib/rvg/pathdata.rb +7 -8
  51. data/lib/rvg/rvg.rb +47 -46
  52. data/lib/rvg/stretchable.rb +22 -28
  53. data/lib/rvg/stylable.rb +12 -10
  54. data/lib/rvg/text.rb +169 -165
  55. data/lib/rvg/transformable.rb +17 -16
  56. data/lib/rvg/units.rb +5 -5
  57. data/rmagick.gemspec +16 -39
  58. metadata +118 -395
  59. data/.hound.yml +0 -2
  60. data/.simplecov +0 -27
  61. data/.travis.yml +0 -74
  62. data/Doxyfile +0 -1514
  63. data/README.textile +0 -251
  64. data/deprecated/RMagick.rb +0 -6
  65. data/doc/.cvsignore +0 -1
  66. data/doc/comtasks.html +0 -287
  67. data/doc/constants.html +0 -1581
  68. data/doc/css/doc.css +0 -299
  69. data/doc/css/popup.css +0 -34
  70. data/doc/css/ref.css +0 -67
  71. data/doc/draw.html +0 -3272
  72. data/doc/ex/InitialCoords.rb +0 -22
  73. data/doc/ex/NewCoordSys.rb +0 -30
  74. data/doc/ex/OrigCoordSys.rb +0 -16
  75. data/doc/ex/PreserveAspectRatio.rb +0 -204
  76. data/doc/ex/RotateScale.rb +0 -36
  77. data/doc/ex/Skew.rb +0 -38
  78. data/doc/ex/Use01.rb +0 -15
  79. data/doc/ex/Use02.rb +0 -20
  80. data/doc/ex/Use03.rb +0 -16
  81. data/doc/ex/ViewBox.rb +0 -31
  82. data/doc/ex/adaptive_threshold.rb +0 -9
  83. data/doc/ex/add_noise.rb +0 -16
  84. data/doc/ex/affine.rb +0 -48
  85. data/doc/ex/affine_transform.rb +0 -20
  86. data/doc/ex/arc.rb +0 -49
  87. data/doc/ex/arcpath.rb +0 -32
  88. data/doc/ex/arcs01.rb +0 -28
  89. data/doc/ex/arcs02.rb +0 -59
  90. data/doc/ex/average.rb +0 -15
  91. data/doc/ex/axes.rb +0 -64
  92. data/doc/ex/baseline_shift01.rb +0 -17
  93. data/doc/ex/bilevel_channel.rb +0 -8
  94. data/doc/ex/blur_image.rb +0 -12
  95. data/doc/ex/border.rb +0 -10
  96. data/doc/ex/bounding_box.rb +0 -42
  97. data/doc/ex/cbezier1.rb +0 -41
  98. data/doc/ex/cbezier2.rb +0 -41
  99. data/doc/ex/cbezier3.rb +0 -41
  100. data/doc/ex/cbezier4.rb +0 -42
  101. data/doc/ex/cbezier5.rb +0 -42
  102. data/doc/ex/cbezier6.rb +0 -53
  103. data/doc/ex/channel.rb +0 -25
  104. data/doc/ex/charcoal.rb +0 -12
  105. data/doc/ex/chop.rb +0 -29
  106. data/doc/ex/circle.rb +0 -33
  107. data/doc/ex/circle01.rb +0 -16
  108. data/doc/ex/clip_path.rb +0 -60
  109. data/doc/ex/coalesce.rb +0 -57
  110. data/doc/ex/color_fill_to_border.rb +0 -29
  111. data/doc/ex/color_floodfill.rb +0 -28
  112. data/doc/ex/color_histogram.rb +0 -47
  113. data/doc/ex/color_reset.rb +0 -11
  114. data/doc/ex/colorize.rb +0 -16
  115. data/doc/ex/colors.rb +0 -64
  116. data/doc/ex/compose_mask.rb +0 -22
  117. data/doc/ex/composite.rb +0 -133
  118. data/doc/ex/composite_layers.rb +0 -53
  119. data/doc/ex/composite_tiled.rb +0 -21
  120. data/doc/ex/contrast.rb +0 -36
  121. data/doc/ex/crop.rb +0 -31
  122. data/doc/ex/crop_with_gravity.rb +0 -42
  123. data/doc/ex/cubic01.rb +0 -43
  124. data/doc/ex/cubic02.rb +0 -91
  125. data/doc/ex/cycle_colormap.rb +0 -21
  126. data/doc/ex/dissolve.rb +0 -12
  127. data/doc/ex/drawcomp.rb +0 -42
  128. data/doc/ex/drop_shadow.rb +0 -60
  129. data/doc/ex/edge.rb +0 -11
  130. data/doc/ex/ellipse.rb +0 -45
  131. data/doc/ex/ellipse01.rb +0 -21
  132. data/doc/ex/emboss.rb +0 -11
  133. data/doc/ex/enhance.rb +0 -28
  134. data/doc/ex/equalize.rb +0 -11
  135. data/doc/ex/evenodd.rb +0 -42
  136. data/doc/ex/fill_pattern.rb +0 -23
  137. data/doc/ex/flatten_images.rb +0 -36
  138. data/doc/ex/flip.rb +0 -11
  139. data/doc/ex/flop.rb +0 -11
  140. data/doc/ex/font_styles.rb +0 -32
  141. data/doc/ex/fonts.rb +0 -20
  142. data/doc/ex/frame.rb +0 -12
  143. data/doc/ex/gaussian_blur.rb +0 -11
  144. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  145. data/doc/ex/get_pixels.rb +0 -47
  146. data/doc/ex/get_type_metrics.rb +0 -141
  147. data/doc/ex/gradientfill.rb +0 -27
  148. data/doc/ex/grav.rb +0 -45
  149. data/doc/ex/gravity.rb +0 -80
  150. data/doc/ex/group.rb +0 -26
  151. data/doc/ex/hatchfill.rb +0 -27
  152. data/doc/ex/image.rb +0 -44
  153. data/doc/ex/images/Apple.miff +0 -0
  154. data/doc/ex/images/Ballerina.jpg +0 -0
  155. data/doc/ex/images/Ballerina3.jpg +0 -0
  156. data/doc/ex/images/Button_0.gif +0 -0
  157. data/doc/ex/images/Button_1.gif +0 -0
  158. data/doc/ex/images/Button_2.gif +0 -0
  159. data/doc/ex/images/Button_3.gif +0 -0
  160. data/doc/ex/images/Button_4.gif +0 -0
  161. data/doc/ex/images/Button_5.gif +0 -0
  162. data/doc/ex/images/Button_6.gif +0 -0
  163. data/doc/ex/images/Button_7.gif +0 -0
  164. data/doc/ex/images/Button_8.gif +0 -0
  165. data/doc/ex/images/Button_9.gif +0 -0
  166. data/doc/ex/images/Button_A.gif +0 -0
  167. data/doc/ex/images/Button_B.gif +0 -0
  168. data/doc/ex/images/Button_C.gif +0 -0
  169. data/doc/ex/images/Button_D.gif +0 -0
  170. data/doc/ex/images/Button_E.gif +0 -0
  171. data/doc/ex/images/Button_F.gif +0 -0
  172. data/doc/ex/images/Button_G.gif +0 -0
  173. data/doc/ex/images/Button_H.gif +0 -0
  174. data/doc/ex/images/Button_I.gif +0 -0
  175. data/doc/ex/images/Button_J.gif +0 -0
  176. data/doc/ex/images/Button_K.gif +0 -0
  177. data/doc/ex/images/Button_L.gif +0 -0
  178. data/doc/ex/images/Button_M.gif +0 -0
  179. data/doc/ex/images/Button_N.gif +0 -0
  180. data/doc/ex/images/Button_O.gif +0 -0
  181. data/doc/ex/images/Button_P.gif +0 -0
  182. data/doc/ex/images/Button_Q.gif +0 -0
  183. data/doc/ex/images/Button_R.gif +0 -0
  184. data/doc/ex/images/Button_S.gif +0 -0
  185. data/doc/ex/images/Button_T.gif +0 -0
  186. data/doc/ex/images/Button_U.gif +0 -0
  187. data/doc/ex/images/Button_V.gif +0 -0
  188. data/doc/ex/images/Button_W.gif +0 -0
  189. data/doc/ex/images/Button_X.gif +0 -0
  190. data/doc/ex/images/Button_Y.gif +0 -0
  191. data/doc/ex/images/Button_Z.gif +0 -0
  192. data/doc/ex/images/Cheetah.jpg +0 -0
  193. data/doc/ex/images/Coffee.wmf +0 -0
  194. data/doc/ex/images/Flower_Hat.jpg +0 -0
  195. data/doc/ex/images/Gold_Statue.jpg +0 -0
  196. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  197. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  198. data/doc/ex/images/Leaf.miff +0 -0
  199. data/doc/ex/images/No.wmf +0 -0
  200. data/doc/ex/images/Polynesia.jpg +0 -0
  201. data/doc/ex/images/Red_Rocks.jpg +0 -0
  202. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  203. data/doc/ex/images/Shorts.jpg +0 -0
  204. data/doc/ex/images/Snake.wmf +0 -0
  205. data/doc/ex/images/Violin.jpg +0 -0
  206. data/doc/ex/images/Yellow_Rose.miff +0 -0
  207. data/doc/ex/images/big-duck.gif +0 -0
  208. data/doc/ex/images/duck.gif +0 -0
  209. data/doc/ex/images/duck0.gif +0 -0
  210. data/doc/ex/images/duck1.gif +0 -0
  211. data/doc/ex/images/duck10.gif +0 -0
  212. data/doc/ex/images/duck11.gif +0 -0
  213. data/doc/ex/images/duck12.gif +0 -0
  214. data/doc/ex/images/duck13.gif +0 -0
  215. data/doc/ex/images/duck14.gif +0 -0
  216. data/doc/ex/images/duck15.gif +0 -0
  217. data/doc/ex/images/duck2.gif +0 -0
  218. data/doc/ex/images/duck3.gif +0 -0
  219. data/doc/ex/images/duck4.gif +0 -0
  220. data/doc/ex/images/duck5.gif +0 -0
  221. data/doc/ex/images/duck6.gif +0 -0
  222. data/doc/ex/images/duck7.gif +0 -0
  223. data/doc/ex/images/duck8.gif +0 -0
  224. data/doc/ex/images/duck9.gif +0 -0
  225. data/doc/ex/images/graydient230x6.gif +0 -0
  226. data/doc/ex/images/image_with_profile.jpg +0 -0
  227. data/doc/ex/images/logo400x83.gif +0 -0
  228. data/doc/ex/images/model.miff +0 -0
  229. data/doc/ex/images/notimplemented.gif +0 -0
  230. data/doc/ex/images/smile.miff +0 -0
  231. data/doc/ex/images/spin.gif +0 -0
  232. data/doc/ex/implode.rb +0 -34
  233. data/doc/ex/level.rb +0 -11
  234. data/doc/ex/level_colors.rb +0 -11
  235. data/doc/ex/line.rb +0 -41
  236. data/doc/ex/line01.rb +0 -21
  237. data/doc/ex/mask.rb +0 -35
  238. data/doc/ex/matte_fill_to_border.rb +0 -39
  239. data/doc/ex/matte_floodfill.rb +0 -32
  240. data/doc/ex/matte_replace.rb +0 -39
  241. data/doc/ex/median_filter.rb +0 -28
  242. data/doc/ex/modulate.rb +0 -11
  243. data/doc/ex/mono.rb +0 -23
  244. data/doc/ex/morph.rb +0 -25
  245. data/doc/ex/mosaic.rb +0 -35
  246. data/doc/ex/motion_blur.rb +0 -11
  247. data/doc/ex/negate.rb +0 -11
  248. data/doc/ex/negate_channel.rb +0 -9
  249. data/doc/ex/nested_rvg.rb +0 -21
  250. data/doc/ex/nonzero.rb +0 -42
  251. data/doc/ex/normalize.rb +0 -11
  252. data/doc/ex/oil_paint.rb +0 -11
  253. data/doc/ex/opacity.rb +0 -37
  254. data/doc/ex/ordered_dither.rb +0 -11
  255. data/doc/ex/path.rb +0 -63
  256. data/doc/ex/pattern1.rb +0 -25
  257. data/doc/ex/pattern2.rb +0 -26
  258. data/doc/ex/polaroid.rb +0 -27
  259. data/doc/ex/polygon.rb +0 -23
  260. data/doc/ex/polygon01.rb +0 -21
  261. data/doc/ex/polyline.rb +0 -22
  262. data/doc/ex/polyline01.rb +0 -21
  263. data/doc/ex/posterize.rb +0 -8
  264. data/doc/ex/preview.rb +0 -8
  265. data/doc/ex/qbezierpath.rb +0 -52
  266. data/doc/ex/quad01.rb +0 -34
  267. data/doc/ex/quantize-m.rb +0 -25
  268. data/doc/ex/radial_blur.rb +0 -9
  269. data/doc/ex/raise.rb +0 -8
  270. data/doc/ex/random_threshold_channel.rb +0 -13
  271. data/doc/ex/rect01.rb +0 -14
  272. data/doc/ex/rect02.rb +0 -20
  273. data/doc/ex/rectangle.rb +0 -34
  274. data/doc/ex/reduce_noise.rb +0 -28
  275. data/doc/ex/remap.rb +0 -11
  276. data/doc/ex/remap_images.rb +0 -19
  277. data/doc/ex/resize_to_fill.rb +0 -8
  278. data/doc/ex/resize_to_fit.rb +0 -8
  279. data/doc/ex/roll.rb +0 -9
  280. data/doc/ex/rotate.rb +0 -44
  281. data/doc/ex/rotate_f.rb +0 -14
  282. data/doc/ex/roundrect.rb +0 -33
  283. data/doc/ex/rubyname.rb +0 -30
  284. data/doc/ex/rvg_clippath.rb +0 -12
  285. data/doc/ex/rvg_linecap.rb +0 -42
  286. data/doc/ex/rvg_linejoin.rb +0 -40
  287. data/doc/ex/rvg_opacity.rb +0 -18
  288. data/doc/ex/rvg_pattern.rb +0 -26
  289. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  290. data/doc/ex/segment.rb +0 -11
  291. data/doc/ex/sepiatone.rb +0 -7
  292. data/doc/ex/shade.rb +0 -11
  293. data/doc/ex/shadow.rb +0 -30
  294. data/doc/ex/shave.rb +0 -15
  295. data/doc/ex/shear.rb +0 -10
  296. data/doc/ex/sketch.rb +0 -17
  297. data/doc/ex/skewx.rb +0 -51
  298. data/doc/ex/skewy.rb +0 -47
  299. data/doc/ex/smile.rb +0 -125
  300. data/doc/ex/solarize.rb +0 -11
  301. data/doc/ex/sparse_color.rb +0 -54
  302. data/doc/ex/splice.rb +0 -8
  303. data/doc/ex/spread.rb +0 -11
  304. data/doc/ex/stegano.rb +0 -55
  305. data/doc/ex/stroke_dasharray.rb +0 -42
  306. data/doc/ex/stroke_fill.rb +0 -10
  307. data/doc/ex/stroke_linecap.rb +0 -44
  308. data/doc/ex/stroke_linejoin.rb +0 -48
  309. data/doc/ex/stroke_width.rb +0 -49
  310. data/doc/ex/swirl.rb +0 -17
  311. data/doc/ex/text.rb +0 -37
  312. data/doc/ex/text01.rb +0 -16
  313. data/doc/ex/text_align.rb +0 -36
  314. data/doc/ex/text_antialias.rb +0 -37
  315. data/doc/ex/text_styles.rb +0 -19
  316. data/doc/ex/text_undercolor.rb +0 -28
  317. data/doc/ex/texture_fill_to_border.rb +0 -34
  318. data/doc/ex/texture_floodfill.rb +0 -32
  319. data/doc/ex/texturefill.rb +0 -24
  320. data/doc/ex/threshold.rb +0 -13
  321. data/doc/ex/to_blob.rb +0 -13
  322. data/doc/ex/translate.rb +0 -39
  323. data/doc/ex/transparent.rb +0 -38
  324. data/doc/ex/transpose.rb +0 -9
  325. data/doc/ex/transverse.rb +0 -9
  326. data/doc/ex/tref01.rb +0 -24
  327. data/doc/ex/triangle01.rb +0 -15
  328. data/doc/ex/trim.rb +0 -23
  329. data/doc/ex/tspan01.rb +0 -17
  330. data/doc/ex/tspan02.rb +0 -17
  331. data/doc/ex/tspan03.rb +0 -19
  332. data/doc/ex/unsharp_mask.rb +0 -28
  333. data/doc/ex/viewex.rb +0 -33
  334. data/doc/ex/vignette.rb +0 -12
  335. data/doc/ex/watermark.rb +0 -27
  336. data/doc/ex/wave.rb +0 -9
  337. data/doc/ex/wet_floor.rb +0 -58
  338. data/doc/ex/writing_mode01.rb +0 -26
  339. data/doc/ex/writing_mode02.rb +0 -26
  340. data/doc/ilist.html +0 -2056
  341. data/doc/image1.html +0 -4680
  342. data/doc/image2.html +0 -3665
  343. data/doc/image3.html +0 -4522
  344. data/doc/imageattrs.html +0 -1638
  345. data/doc/imusage.html +0 -514
  346. data/doc/index.html +0 -416
  347. data/doc/info.html +0 -1499
  348. data/doc/magick.html +0 -565
  349. data/doc/optequiv.html +0 -2435
  350. data/doc/rvg.html +0 -975
  351. data/doc/rvgclip.html +0 -248
  352. data/doc/rvggroup.html +0 -305
  353. data/doc/rvgimage.html +0 -289
  354. data/doc/rvgpattern.html +0 -475
  355. data/doc/rvgshape.html +0 -406
  356. data/doc/rvgstyle.html +0 -270
  357. data/doc/rvgtext.html +0 -465
  358. data/doc/rvgtspan.html +0 -238
  359. data/doc/rvgtut.html +0 -530
  360. data/doc/rvguse.html +0 -145
  361. data/doc/rvgxform.html +0 -294
  362. data/doc/scripts/doc.js +0 -22
  363. data/doc/scripts/stripeTables.js +0 -23
  364. data/doc/struct.html +0 -1339
  365. data/doc/usage.html +0 -1621
  366. data/examples/constitute.rb +0 -7
  367. data/examples/crop_with_gravity.rb +0 -42
  368. data/examples/demo.rb +0 -324
  369. data/examples/describe.rb +0 -43
  370. data/examples/find_similar_region.rb +0 -34
  371. data/examples/histogram.rb +0 -321
  372. data/examples/identify.rb +0 -185
  373. data/examples/image_opacity.rb +0 -29
  374. data/examples/import_export.rb +0 -31
  375. data/examples/pattern_fill.rb +0 -38
  376. data/examples/rotating_text.rb +0 -44
  377. data/examples/spinner.rb +0 -49
  378. data/examples/thumbnail.rb +0 -64
  379. data/examples/vignette.rb +0 -78
  380. data/spec/rmagick/ImageList1_spec.rb +0 -24
  381. data/spec/rmagick/draw_spec.rb +0 -156
  382. data/spec/rmagick/image/blue_shift_spec.rb +0 -16
  383. data/spec/rmagick/image/composite_spec.rb +0 -140
  384. data/spec/rmagick/image/constitute_spec.rb +0 -15
  385. data/spec/rmagick/image/dispatch_spec.rb +0 -18
  386. data/spec/rmagick/image/from_blob_spec.rb +0 -14
  387. data/spec/rmagick/image/ping_spec.rb +0 -14
  388. data/spec/rmagick/image/properties_spec.rb +0 -29
  389. data/spec/spec_helper.rb +0 -4
  390. data/test/Image1.rb +0 -565
  391. data/test/Image2.rb +0 -1304
  392. data/test/Image3.rb +0 -1030
  393. data/test/ImageList1.rb +0 -806
  394. data/test/ImageList2.rb +0 -385
  395. data/test/Image_attributes.rb +0 -697
  396. data/test/Import_Export.rb +0 -121
  397. data/test/Info.rb +0 -345
  398. data/test/Magick.rb +0 -321
  399. data/test/Pixel.rb +0 -116
  400. data/test/Preview.rb +0 -57
  401. data/test/cmyk.icm +0 -0
  402. data/test/srgb.icm +0 -0
  403. data/test/test_all_basic.rb +0 -38
  404. data/test/tmpnam_test.rb +0 -50
  405. data/wercker.yml +0 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cdb0b76b421e905281ea36ab502157f8127ef7f4
4
- data.tar.gz: 7055d7ca36c20dfe2368b86274fcae3b092ce4af
2
+ SHA256:
3
+ metadata.gz: b776ce3e793e02f14844cce0300aaef504783bdb1c190247cdc00b20e1fbc041
4
+ data.tar.gz: 312ff6d1311a59ac2f90b3cf44742698fcacadc39c2d39ec4c5bfedc7ece3103
5
5
  SHA512:
6
- metadata.gz: 3e48587349334725feb46115787fe620396220163f61822724f818645d89538b3a0a898f03b9d3af20a959ed023619ac3d268d8597f34b3dacc4ce7e2af7fd95
7
- data.tar.gz: 830620183fb702cd38df0bd0d227e1a3d094198cb4d8a6d94b6354c4a854412ae795700f25584e4470c8078fe52a8208275f758fdb249aa2dc109261316b665b
6
+ metadata.gz: 6f826ecaf2f6cc471285dab84981d8513c79a18381d08c5e8e0f09a023da3eedce5cf223f495c3aa73efbc82828fd2b915c5b401548e041d8440b204288045d1
7
+ data.tar.gz: 5758a2256f5cad91968046be67d220dce46de3d9644f925275e2b33fcb37b486a44d5ec06bef0e2644d0108798398798b05cb605b7514af004536cd02edba635
data/.codeclimate.yml ADDED
@@ -0,0 +1,63 @@
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
+
@@ -0,0 +1,14 @@
1
+ ARG RUBY_VERSION
2
+
3
+ FROM ruby:${RUBY_VERSION}
4
+
5
+ ARG IMAGEMAGICK_VERSION
6
+
7
+ RUN mkdir /setup
8
+ ADD *.sh /setup
9
+
10
+ ENV IMAGEMAGICK_VERSION ${IMAGEMAGICK_VERSION}
11
+
12
+ RUN /setup/setup-user.sh
13
+
14
+ WORKDIR /workspaces/rmagick
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "ImageMagick 6",
3
+ "build": {
4
+ "dockerfile": "../Dockerfile",
5
+ "args": {
6
+ "RUBY_VERSION": "3.1.2",
7
+ "IMAGEMAGICK_VERSION": "6.9.12-59"
8
+ }
9
+ },
10
+ "onCreateCommand": "/setup/setup-repo.sh"
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "ImageMagick 7",
3
+ "build": {
4
+ "dockerfile": "Dockerfile",
5
+ "args": {
6
+ "RUBY_VERSION": "3.1.2",
7
+ "IMAGEMAGICK_VERSION": "7.1.0-44"
8
+ }
9
+ },
10
+ "onCreateCommand": "/setup/setup-repo.sh"
11
+ }
@@ -0,0 +1,10 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ apt-get update
5
+ apt-get install sudo
6
+
7
+ bash /workspaces/rmagick/before_install_linux.sh
8
+
9
+ cd /workspaces/rmagick
10
+ bundle install --path=vendor/bundle --jobs 4 --retry 3
@@ -0,0 +1,45 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ codespaces_bash="$(cat \
5
+ <<'EOF'
6
+ # Codespaces bash prompt theme
7
+ __bash_prompt() {
8
+ local userpart='`export XIT=$? \
9
+ && [ ! -z "${GITHUB_USER}" ] && echo -n "\[\033[0;32m\]@${GITHUB_USER} " || echo -n "\[\033[0;32m\]\u " \
10
+ && echo -n "\[\033[0;36m\][IM ${IMAGEMAGICK_VERSION}]" \
11
+ && [ "$XIT" -ne "0" ] && echo -n "\[\033[1;31m\]➜" || echo -n "\[\033[0m\]➜"`'
12
+ local gitbranch='`\
13
+ if [ "$(git config --get codespaces-theme.hide-status 2>/dev/null)" != 1 ]; then \
14
+ export BRANCH=$(git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD 2>/dev/null); \
15
+ if [ "${BRANCH}" != "" ]; then \
16
+ echo -n "\[\033[0;36m\](\[\033[1;31m\]${BRANCH}" \
17
+ && if git ls-files --error-unmatch -m --directory --no-empty-directory -o --exclude-standard ":/*" > /dev/null 2>&1; then \
18
+ echo -n " \[\033[1;33m\]✗"; \
19
+ fi \
20
+ && echo -n "\[\033[0;36m\]) "; \
21
+ fi; \
22
+ fi`'
23
+ local lightblue='\[\033[1;34m\]'
24
+ local removecolor='\[\033[0m\]'
25
+ PS1="${userpart} ${lightblue}\w ${gitbranch}${removecolor}\$ "
26
+ unset -f __bash_prompt
27
+ }
28
+ __bash_prompt
29
+
30
+ __show_notice() {
31
+ local __message="
32
+ \033[0;32mWelcome to Codespaces! You are using the pre-configured rmagick image.\033[0m
33
+
34
+ \033[0;35mTests can be executed with:\033[0m bundle exec rake
35
+ \033[0;35mCode style can be checked with:\033[0m STYLE_CHECKS=true bundle exec rubocop
36
+ "
37
+ echo -e "$__message"
38
+
39
+ unset -f __show_notice
40
+ }
41
+ __show_notice
42
+ EOF
43
+ )"
44
+
45
+ echo "${codespaces_bash}" >> "/root/.bashrc"
data/.editorconfig CHANGED
@@ -12,3 +12,6 @@ tab_width = 2
12
12
 
13
13
  [{*.{rb,yml,sh,md}]
14
14
  indent_size = 2
15
+
16
+ [*.c]
17
+ indent_size = 4
@@ -0,0 +1,17 @@
1
+ ### Description
2
+ <!-- A description of the bug or feature -->
3
+
4
+ ### Steps to Reproduce
5
+ <!-- List of steps, sample code, failing test or link to a project that reproduces the behavior.
6
+ Make sure you place a stack trace inside a code (```) block to avoid linking unrelated issues -->
7
+
8
+ ### System Configuration
9
+ <!-- Tell us about the environment where you are experiencing the bug -->
10
+
11
+ - ImageMagick version:
12
+ - RMagick version:
13
+ - Ruby version:
14
+ - Environment (Operating system, version and so on):
15
+ - Additional information:
16
+
17
+ <!-- Thanks for reporting the issue to RMagick! -->
@@ -0,0 +1,79 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ lint:
15
+ runs-on: ubuntu-latest
16
+ timeout-minutes: 20
17
+ steps:
18
+ - uses: actions/checkout@v3
19
+ - name: Set up Ruby 2.3
20
+ uses: ruby/setup-ruby@master
21
+ with:
22
+ ruby-version: '2.3'
23
+ - name: Build and test with Rake
24
+ run: |
25
+ bundle install --path=vendor/bundle --jobs 4 --retry 3
26
+ STYLE_CHECKS=true bundle exec rubocop
27
+
28
+ test-linux:
29
+ runs-on: ubuntu-latest
30
+ timeout-minutes: 20
31
+ strategy:
32
+ matrix:
33
+ ruby-version: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1']
34
+ imagemagick-version:
35
+ - { full: 6.7.7-10, major-minor: '6.7' }
36
+ - { full: 6.8.9-10, major-minor: '6.8' }
37
+ - { full: 6.9.12-59, major-minor: '6.9' }
38
+ - { full: 7.1.0-44, major-minor: '7.0' }
39
+
40
+ name: Linux, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
41
+ steps:
42
+ - uses: actions/checkout@v3
43
+ - name: Set up Ruby ${{ matrix.ruby-version }}
44
+ uses: ruby/setup-ruby@master
45
+ with:
46
+ ruby-version: ${{ matrix.ruby-version }}
47
+ - name: Update/Install packages
48
+ run: |
49
+ export IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }}
50
+ ./before_install_linux.sh
51
+ - name: Build and test with Rake
52
+ run: |
53
+ bundle install --path=vendor/bundle --jobs 4 --retry 3
54
+ bundle exec rake
55
+
56
+ test-macos:
57
+ runs-on: macos-latest
58
+ timeout-minutes: 20
59
+ strategy:
60
+ matrix:
61
+ ruby-version: ['2.6', '2.7', '3.0', '3.1']
62
+ imagemagick-version:
63
+ - { full: 6.9.12-59, major-minor: '6.9' }
64
+ - { full: 7.1.0-44, major-minor: '7.0' }
65
+
66
+ name: macOS, Ruby ${{ matrix.ruby-version }}, IM ${{ matrix.imagemagick-version.major-minor }}
67
+ steps:
68
+ - uses: actions/checkout@v3
69
+ - name: Set up Ruby ${{ matrix.ruby-version }}
70
+ uses: ruby/setup-ruby@master
71
+ with:
72
+ ruby-version: ${{ matrix.ruby-version }}
73
+ - name: Update/Install packages
74
+ run: |
75
+ IMAGEMAGICK_VERSION=${{ matrix.imagemagick-version.full }} ./before_install_osx.sh
76
+ - name: Build and test with Rake
77
+ run: |
78
+ bundle install --path=vendor/bundle --jobs 4 --retry 3
79
+ bundle exec rake
data/.gitignore CHANGED
@@ -13,9 +13,13 @@ rdoc
13
13
  spec/reports
14
14
  test/tmp
15
15
  test/version_tmp
16
+ vendor/bundle
16
17
  tmp
17
18
  *.bundle
18
19
  *.so
19
20
  *.o
20
21
  *.a
21
- mkmf.log
22
+ *.log
23
+ Makefile
24
+ extconf.h
25
+ build-ImageMagick/
data/.rspec CHANGED
@@ -1 +1,2 @@
1
1
  --require spec_helper
2
+ --force-color
data/.rubocop.yml CHANGED
@@ -1,340 +1,37 @@
1
- # Custom configuration, edit with care! This gem needs to be backwards
2
- # compatible with Ruby 1.8:
3
-
4
- Style/HashSyntax:
5
- EnforcedStyle: hash_rockets
6
-
7
- Style/DeprecatedHashMethods:
8
- Enabled: false
9
-
10
- # TODO: How to warn if stabby proc is used?
11
- Style/Lambda:
12
- Enabled: false
13
-
14
- Style/StringLiterals:
15
- EnforcedStyle: single_quotes
16
-
17
- Style/DotPosition:
18
- EnforcedStyle: leading
19
-
20
- # Auto-generated config to be cleaned up and deleted:
21
-
22
- # Offense count: 2
23
- # Cop supports --auto-correct.
24
- Lint/BlockAlignment:
25
- Enabled: false
26
-
27
- Lint/FormatParameterMismatch:
28
- Enabled: false
29
-
30
- # Offense count: 1
31
- Lint/HandleExceptions:
32
- Enabled: false
33
-
34
- # Offense count: 1
35
- Lint/RescueException:
36
- Enabled: false
37
-
38
- # Offense count: 1
39
- Lint/ShadowingOuterLocalVariable:
40
- Enabled: false
41
-
42
- # Offense count: 1
43
- Lint/UnderscorePrefixedVariableName:
44
- Enabled: false
45
-
46
- # Offense count: 9
47
- # Cop supports --auto-correct.
48
- Lint/UnusedBlockArgument:
49
- Enabled: false
50
-
51
- # Offense count: 17
52
- # Cop supports --auto-correct.
53
- Lint/UnusedMethodArgument:
54
- Enabled: false
55
-
56
- # Offense count: 22
57
- Lint/UselessAssignment:
58
- Enabled: false
59
-
60
- # Offense count: 183
61
- Metrics/AbcSize:
62
- Max: 559
63
-
64
- # Offense count: 1
65
- Metrics/BlockNesting:
66
- Max: 4
67
-
68
- # Offense count: 17
69
- # Configuration parameters: CountComments.
70
- Metrics/ClassLength:
71
- Max: 1099
72
-
73
- # Offense count: 22
74
- Metrics/CyclomaticComplexity:
75
- Max: 42
76
-
77
- # Offense count: 844
78
- # Configuration parameters: AllowURI, URISchemes.
79
- Metrics/LineLength:
80
- Max: 276
81
-
82
- # Offense count: 178
83
- # Configuration parameters: CountComments.
84
- Metrics/MethodLength:
85
- Max: 157
86
-
87
- # Offense count: 13
88
- # Configuration parameters: CountKeywordArgs.
89
- Metrics/ParameterLists:
90
- Max: 8
91
-
92
- # Offense count: 14
93
- Metrics/PerceivedComplexity:
94
- Max: 41
95
-
96
- Performance/StringReplacement:
97
- Enabled: false
98
-
99
- # Offense count: 4
100
- Style/AccessorMethodName:
101
- Enabled: false
102
-
103
- Style/AlignArray:
104
- Enabled: false
105
-
106
- # Offense count: 3
107
- # Cop supports --auto-correct.
108
- # Configuration parameters: EnforcedStyle, SupportedStyles.
109
- Style/BarePercentLiterals:
110
- Enabled: false
111
-
112
- # Offense count: 7
113
- Style/CaseEquality:
114
- Enabled: false
115
-
116
- # Offense count: 63
117
- # Configuration parameters: IndentWhenRelativeTo, SupportedStyles, IndentOneStep.
118
- Style/CaseIndentation:
119
- Enabled: false
120
-
121
- # Offense count: 13
122
- Style/ClassAndModuleCamelCase:
123
- Enabled: false
124
-
125
- # Offense count: 6
126
- # Configuration parameters: EnforcedStyle, SupportedStyles.
127
- Style/ClassAndModuleChildren:
128
- Enabled: false
129
-
130
- # Offense count: 1
131
- # Cop supports --auto-correct.
132
- Style/ClosingParenthesisIndentation:
133
- Enabled: false
134
-
135
- Style/CollectionMethods:
136
- Enabled: false
137
-
138
- # Offense count: 5
139
- # Cop supports --auto-correct.
140
- Style/CommentIndentation:
141
- Enabled: false
142
-
143
- # Offense count: 126
144
- Style/ConstantName:
145
- Enabled: false
146
-
147
- # Offense count: 62
148
- Style/Documentation:
149
- Enabled: false
150
-
151
- Style/EmptyLinesAroundBlockBody:
152
- Enabled: false
153
-
154
- Style/ExtraSpacing:
155
- Enabled: false
156
-
157
- # Offense count: 23
158
- # Configuration parameters: Exclude.
159
- Style/FileName:
160
- Enabled: false
161
-
162
- # Offense count: 68
163
- # Configuration parameters: EnforcedStyle, SupportedStyles.
164
- Style/FormatString:
165
- Enabled: false
166
-
167
- # Offense count: 45
168
- # Configuration parameters: AllowedVariables.
169
- Style/GlobalVars:
170
- Enabled: false
171
-
172
- # Offense count: 8
173
- # Configuration parameters: MinBodyLength.
174
- Style/GuardClause:
175
- Enabled: false
176
-
177
- # Offense count: 29
178
- # Cop supports --auto-correct.
179
- # Configuration parameters: MaxLineLength.
180
- Style/IfUnlessModifier:
181
- Enabled: false
182
-
183
- Style/IndentArray:
184
- Enabled: false
185
-
186
- Style/IndentationConsistency:
187
- Enabled: false
188
-
189
- # Offense count: 1049
190
- # Cop supports --auto-correct.
191
- # Configuration parameters: Width.
192
- Style/IndentationWidth:
193
- Enabled: false
194
-
195
- # Offense count: 47
196
- # Cop supports --auto-correct.
197
- Style/LeadingCommentSpace:
198
- Enabled: false
199
-
200
- # Offense count: 4
201
- # Configuration parameters: EnforcedStyle, SupportedStyles.
202
- Style/MethodName:
203
- Enabled: false
204
-
205
- # Offense count: 9
206
- # Cop supports --auto-correct.
207
- # Configuration parameters: EnforcedStyle, SupportedStyles.
208
- Style/MultilineOperationIndentation:
209
- Enabled: false
210
-
211
- # Offense count: 1
212
- Style/MultilineTernaryOperator:
213
- Enabled: false
214
-
215
- # Offense count: 3
216
- # Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
217
- Style/Next:
218
- Enabled: false
219
-
220
- # Offense count: 21
221
- # Cop supports --auto-correct.
222
- Style/NumericLiterals:
223
- MinDigits: 18
224
-
225
- # Offense count: 1
226
- Style/OpMethod:
227
- Enabled: false
228
-
229
- # Offense count: 9
230
- # Cop supports --auto-correct.
231
- # Configuration parameters: PreferredDelimiters.
232
- Style/PercentLiteralDelimiters:
233
- Enabled: false
234
-
235
- # Offense count: 10
236
- # Cop supports --auto-correct.
237
- Style/PerlBackrefs:
238
- Enabled: false
239
-
240
- # Offense count: 4
241
- # Configuration parameters: NamePrefix, NamePrefixBlacklist.
242
- Style/PredicateName:
243
- Enabled: false
244
-
245
- # Offense count: 1
246
- # Cop supports --auto-correct.
247
- # Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
248
- Style/RegexpLiteral:
249
- Enabled: false
250
-
251
- Style/RescueEnsureAlignment:
252
- Enabled: false
253
-
254
- # Offense count: 2
255
- Style/RescueModifier:
256
- Enabled: false
257
-
258
- # Offense count: 2
259
- # Cop supports --auto-correct.
260
- # Configuration parameters: AllowAsExpressionSeparator.
261
- Style/Semicolon:
262
- Enabled: false
263
-
264
- # Offense count: 2
265
- # Configuration parameters: Methods.
266
- Style/SingleLineBlockParams:
267
- Enabled: false
268
-
269
- # Offense count: 7
270
- # Cop supports --auto-correct.
271
- Style/SingleSpaceBeforeFirstArg:
272
- Enabled: false
273
-
274
- # Offense count: 1114
275
- # Cop supports --auto-correct.
276
- Style/SpaceAfterComma:
277
- Enabled: false
278
-
279
- # Offense count: 91
280
- # Cop supports --auto-correct.
281
- # Configuration parameters: EnforcedStyle, SupportedStyles.
282
- Style/SpaceAroundEqualsInParameterDefault:
283
- Enabled: false
284
-
285
- # Offense count: 1066
286
- # Cop supports --auto-correct.
287
- # Configuration parameters: MultiSpaceAllowedForOperators.
288
- Style/SpaceAroundOperators:
289
- Enabled: false
290
-
291
- # Offense count: 3
292
- # Cop supports --auto-correct.
293
- # Configuration parameters: EnforcedStyle, SupportedStyles.
294
- Style/SpaceBeforeBlockBraces:
295
- Enabled: false
296
-
297
- # Offense count: 204
298
- # Cop supports --auto-correct.
299
- # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
300
- Style/SpaceInsideBlockBraces:
301
- Enabled: false
302
-
303
- # Offense count: 6
304
- # Cop supports --auto-correct.
305
- Style/SpaceInsideBrackets:
306
- Enabled: false
307
-
308
- # Offense count: 68
309
- # Cop supports --auto-correct.
310
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SupportedStyles.
311
- Style/SpaceInsideHashLiteralBraces:
312
- Enabled: false
313
-
314
- # Offense count: 35
315
- # Cop supports --auto-correct.
316
- Style/SpaceInsideParens:
317
- Enabled: false
318
-
319
- # Offense count: 12
320
- # Cop supports --auto-correct.
321
- # Configuration parameters: IgnoredMethods.
322
- Style/SymbolProc:
323
- Enabled: false
324
-
325
- # Offense count: 3
326
- # Cop supports --auto-correct.
327
- # Configuration parameters: EnforcedStyleForMultiline, SupportedStyles.
328
- Style/TrailingComma:
329
- Enabled: false
330
-
331
- # Offense count: 2
332
- # Configuration parameters: EnforcedStyle, SupportedStyles.
333
- Style/VariableName:
334
- Enabled: false
335
-
336
- # Offense count: 7
337
- # Cop supports --auto-correct.
338
- # Configuration parameters: WordRegex.
339
- Style/WordArray:
340
- MinSize: 3
1
+ inherit_from:
2
+ - .rubocop_todo.yml
3
+
4
+ require:
5
+ - rubocop-rspec
6
+
7
+ AllCops:
8
+ DefaultFormatter: fuubar
9
+ EnabledByDefault: true
10
+ TargetRubyVersion: 2.3
11
+ Exclude:
12
+ - 'vendor/bundle/**/*'
13
+ - '**/*\.spec'
14
+
15
+ ################################################################################
16
+ #
17
+ # Rules that depart from rubocop defaults
18
+ #
19
+ ################################################################################
20
+
21
+ Layout/MultilineAssignmentLayout: { EnforcedStyle: same_line }
22
+ RSpec/FilePath: { CustomTransform: { Magick: rmagick } }
23
+ Style/FormatString: { EnforcedStyle: sprintf }
24
+ Style/GuardClause: { MinBodyLength: 3 }
25
+ # we may not need this after finishing RSpec conversion
26
+ # seems like `rubocop-rspec` already excludes the `spec/` directory
27
+ Style/MethodCalledOnDoEndBlock: { Exclude: [test/**/*.rb, spec/**/*.rb] }
28
+ Style/NumericLiterals: { MinDigits: 6 }
29
+
30
+ ################################################################################
31
+ #
32
+ # Rules we don't want to enable
33
+ #
34
+ ################################################################################
35
+
36
+ RSpec/AlignLeftLetBrace: { Enabled: false }
37
+ RSpec/AlignRightLetBrace: { Enabled: false }