mini_magick 4.13.2 → 5.1.2

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.
data/lib/mini_magick.rb CHANGED
@@ -1,64 +1,40 @@
1
1
  require 'mini_magick/version'
2
2
  require 'mini_magick/configuration'
3
+ require 'mini_magick/utilities'
4
+ require 'mini_magick/tool'
5
+ require 'mini_magick/image'
3
6
 
4
7
  module MiniMagick
5
8
 
6
- extend MiniMagick::Configuration
7
-
8
- ##
9
- # You might want to execute only certain blocks of processing with a
10
- # different CLI, because for example that CLI does that particular thing
11
- # faster. After the block CLI resets to its previous value.
12
- #
13
- # @example
14
- # MiniMagick.with_cli :graphicsmagick do
15
- # # operations that are better done with GraphicsMagick
16
- # end
17
- def self.with_cli(cli)
18
- old_cli = self.cli
19
- self.cli = cli
20
- yield
21
- ensure
22
- self.cli = old_cli
23
- end
9
+ Error = Class.new(RuntimeError)
10
+ Invalid = Class.new(StandardError)
11
+ TimeoutError = Class.new(Error)
24
12
 
25
- ##
26
- # Checks whether the CLI used is ImageMagick.
27
- #
28
- # @return [Boolean]
29
- def self.imagemagick?
30
- cli == :imagemagick
31
- end
13
+ extend MiniMagick::Configuration
32
14
 
33
15
  ##
34
- # Checks whether the CLI used is ImageMagick 7.
16
+ # Checks whether ImageMagick 7 is installed.
35
17
  #
36
18
  # @return [Boolean]
37
19
  def self.imagemagick7?
38
- cli == :imagemagick7
20
+ return false if graphicsmagick
21
+ return @imagemagick7 if defined?(@imagemagick7)
22
+ @imagemagick7 = !!MiniMagick::Utilities.which("magick")
39
23
  end
40
24
 
41
- ##
42
- # Checks whether the CLI used is GraphicsMagick.
43
- #
44
- # @return [Boolean]
45
- def self.graphicsmagick?
46
- cli == :graphicsmagick
25
+ %w[animate compare composite conjure convert display identify import mogrify montage stream].each do |tool|
26
+ define_singleton_method(tool) do |**options, &block|
27
+ name = imagemagick7? && tool == "convert" ? "magick" : tool
28
+ MiniMagick::Tool.new(name, **options, &block)
29
+ end
47
30
  end
48
31
 
49
32
  ##
50
- # Returns ImageMagick's/GraphicsMagick's version.
33
+ # Returns ImageMagick version.
51
34
  #
52
35
  # @return [String]
53
36
  def self.cli_version
54
- output = MiniMagick::Tool::Identify.new(&:version)
37
+ output = MiniMagick.identify(&:version)
55
38
  output[/\d+\.\d+\.\d+(-\d+)?/]
56
39
  end
57
-
58
- class Error < RuntimeError; end
59
- class Invalid < StandardError; end
60
-
61
40
  end
62
-
63
- require 'mini_magick/tool'
64
- require 'mini_magick/image'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_magick
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.13.2
4
+ version: 5.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Corey Johnson
@@ -10,19 +10,18 @@ authors:
10
10
  - James Miller
11
11
  - Thiago Fernandes Massa
12
12
  - Janko Marohnić
13
- autorequire:
14
13
  bindir: bin
15
14
  cert_chain: []
16
- date: 2024-07-08 00:00:00.000000000 Z
15
+ date: 2025-02-02 00:00:00.000000000 Z
17
16
  dependencies:
18
17
  - !ruby/object:Gem::Dependency
19
- name: rake
18
+ name: logger
20
19
  requirement: !ruby/object:Gem::Requirement
21
20
  requirements:
22
21
  - - ">="
23
22
  - !ruby/object:Gem::Version
24
23
  version: '0'
25
- type: :development
24
+ type: :runtime
26
25
  prerelease: false
27
26
  version_requirements: !ruby/object:Gem::Requirement
28
27
  requirements:
@@ -30,21 +29,21 @@ dependencies:
30
29
  - !ruby/object:Gem::Version
31
30
  version: '0'
32
31
  - !ruby/object:Gem::Dependency
33
- name: rspec
32
+ name: benchmark
34
33
  requirement: !ruby/object:Gem::Requirement
35
34
  requirements:
36
- - - "~>"
35
+ - - ">="
37
36
  - !ruby/object:Gem::Version
38
- version: 3.5.0
39
- type: :development
37
+ version: '0'
38
+ type: :runtime
40
39
  prerelease: false
41
40
  version_requirements: !ruby/object:Gem::Requirement
42
41
  requirements:
43
- - - "~>"
42
+ - - ">="
44
43
  - !ruby/object:Gem::Version
45
- version: 3.5.0
44
+ version: '0'
46
45
  - !ruby/object:Gem::Dependency
47
- name: webmock
46
+ name: rake
48
47
  requirement: !ruby/object:Gem::Requirement
49
48
  requirements:
50
49
  - - ">="
@@ -57,7 +56,21 @@ dependencies:
57
56
  - - ">="
58
57
  - !ruby/object:Gem::Version
59
58
  version: '0'
60
- description: Manipulate images with minimal use of memory via ImageMagick / GraphicsMagick
59
+ - !ruby/object:Gem::Dependency
60
+ name: rspec
61
+ requirement: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - "~>"
64
+ - !ruby/object:Gem::Version
65
+ version: '3.5'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '3.5'
73
+ description: Manipulate images with minimal use of memory via ImageMagick
61
74
  email:
62
75
  - probablycorey@gmail.com
63
76
  - hcatlin@gmail.com
@@ -72,33 +85,19 @@ files:
72
85
  - MIT-LICENSE
73
86
  - README.md
74
87
  - Rakefile
75
- - lib/mini_gmagick.rb
76
88
  - lib/mini_magick.rb
77
89
  - lib/mini_magick/configuration.rb
78
90
  - lib/mini_magick/image.rb
79
91
  - lib/mini_magick/image/info.rb
80
92
  - lib/mini_magick/shell.rb
81
93
  - lib/mini_magick/tool.rb
82
- - lib/mini_magick/tool/animate.rb
83
- - lib/mini_magick/tool/compare.rb
84
- - lib/mini_magick/tool/composite.rb
85
- - lib/mini_magick/tool/conjure.rb
86
- - lib/mini_magick/tool/convert.rb
87
- - lib/mini_magick/tool/display.rb
88
- - lib/mini_magick/tool/identify.rb
89
- - lib/mini_magick/tool/import.rb
90
- - lib/mini_magick/tool/magick.rb
91
- - lib/mini_magick/tool/mogrify.rb
92
- - lib/mini_magick/tool/mogrify_restricted.rb
93
- - lib/mini_magick/tool/montage.rb
94
- - lib/mini_magick/tool/stream.rb
95
94
  - lib/mini_magick/utilities.rb
96
95
  - lib/mini_magick/version.rb
97
96
  homepage: https://github.com/minimagick/minimagick
98
97
  licenses:
99
98
  - MIT
100
- metadata: {}
101
- post_install_message:
99
+ metadata:
100
+ changelog_uri: https://github.com/minimagick/minimagick/releases
102
101
  rdoc_options: []
103
102
  require_paths:
104
103
  - lib
@@ -113,9 +112,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
112
  - !ruby/object:Gem::Version
114
113
  version: '0'
115
114
  requirements:
116
- - You must have ImageMagick or GraphicsMagick installed
117
- rubygems_version: 3.5.11
118
- signing_key:
115
+ - You must have ImageMagick installed
116
+ rubygems_version: 3.6.2
119
117
  specification_version: 4
120
- summary: Manipulate images with minimal use of memory via ImageMagick / GraphicsMagick
118
+ summary: Manipulate images with minimal use of memory via ImageMagick
121
119
  test_files: []
data/lib/mini_gmagick.rb DELETED
@@ -1,3 +0,0 @@
1
- require 'mini_magick'
2
-
3
- MiniMagick.processor = :gm
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/animate.php
5
- #
6
- class Animate < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("animate", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/compare.php
5
- #
6
- class Compare < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("compare", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/composite.php
5
- #
6
- class Composite < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("composite", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/conjure.php
5
- #
6
- class Conjure < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("conjure", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/convert.php
5
- #
6
- class Convert < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("convert", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/display.php
5
- #
6
- class Display < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("display", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/identify.php
5
- #
6
- class Identify < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("identify", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/import.php
5
- #
6
- class Import < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("import", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/command-line-processing.php
5
- #
6
- class Magick < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("magick", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/mogrify.php
5
- #
6
- class Mogrify < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("mogrify", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,15 +0,0 @@
1
- require "mini_magick/tool/mogrify"
2
-
3
- module MiniMagick
4
- class Tool
5
- ##
6
- # @see http://www.imagemagick.org/script/mogrify.php
7
- #
8
- class MogrifyRestricted < Mogrify
9
- def format(*args)
10
- fail NoMethodError,
11
- "you must call #format on a MiniMagick::Image directly"
12
- end
13
- end
14
- end
15
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/montage.php
5
- #
6
- class Montage < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("montage", *args)
10
- end
11
-
12
- end
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- module MiniMagick
2
- class Tool
3
- ##
4
- # @see http://www.imagemagick.org/script/stream.php
5
- #
6
- class Stream < MiniMagick::Tool
7
-
8
- def initialize(*args)
9
- super("stream", *args)
10
- end
11
-
12
- end
13
- end
14
- end