mini_magick 4.9.5 → 5.0.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.
@@ -1,4 +1,4 @@
1
- require "timeout"
1
+ require "open3"
2
2
  require "benchmark"
3
3
 
4
4
  module MiniMagick
@@ -10,66 +10,34 @@ module MiniMagick
10
10
  #
11
11
  class Shell
12
12
 
13
- def run(command, options = {})
14
- stdout, stderr, status = execute(command, stdin: options[:stdin])
13
+ def run(command, errors: MiniMagick.errors, warnings: MiniMagick.warnings, **options)
14
+ stdout, stderr, status = execute(command, **options)
15
15
 
16
- if status != 0 && options.fetch(:whiny, MiniMagick.whiny)
17
- fail MiniMagick::Error, "`#{command.join(" ")}` failed with error:\n#{stderr}"
16
+ if status != 0
17
+ if stderr.include?("time limit exceeded")
18
+ fail MiniMagick::TimeoutError, "`#{command.join(" ")}` has timed out"
19
+ elsif errors
20
+ fail MiniMagick::Error, "`#{command.join(" ")}` failed with status: #{status.inspect} and error:\n#{stderr}"
21
+ end
18
22
  end
19
23
 
20
- $stderr.print(stderr) unless options[:stderr] == false
24
+ $stderr.print(stderr) if warnings && stderr.strip != %(WARNING: The convert command is deprecated in IMv7, use "magick")
21
25
 
22
26
  [stdout, stderr, status]
23
27
  end
24
28
 
25
- def execute(command, options = {})
26
- stdout, stderr, status =
27
- log(command.join(" ")) do
28
- send("execute_#{MiniMagick.shell_api.gsub("-", "_")}", command, options)
29
- end
29
+ def execute(command, stdin: "", timeout: MiniMagick.timeout)
30
+ stdout, stderr, status = log(command.join(" ")) do
31
+ Open3.capture3({ "MAGICK_TIME_LIMIT" => timeout&.to_s }, *command, stdin_data: stdin)
32
+ end
30
33
 
31
- [stdout, stderr, status.exitstatus]
34
+ [stdout, stderr, status&.exitstatus]
32
35
  rescue Errno::ENOENT, IOError
33
36
  ["", "executable not found: \"#{command.first}\"", 127]
34
37
  end
35
38
 
36
39
  private
37
40
 
38
- def execute_open3(command, options = {})
39
- require "open3"
40
-
41
- # We would ideally use Open3.capture3, but it wouldn't allow us to
42
- # terminate the command after timing out.
43
- Open3.popen3(*command) do |in_w, out_r, err_r, thread|
44
- [in_w, out_r, err_r].each(&:binmode)
45
- stdout_reader = Thread.new { out_r.read }
46
- stderr_reader = Thread.new { err_r.read }
47
- begin
48
- in_w.write options[:stdin].to_s
49
- rescue Errno::EPIPE
50
- end
51
- in_w.close
52
-
53
- begin
54
- Timeout.timeout(MiniMagick.timeout) { thread.join }
55
- rescue Timeout::Error
56
- Process.kill("TERM", thread.pid) rescue nil
57
- Process.waitpid(thread.pid) rescue nil
58
- raise Timeout::Error, "MiniMagick command timed out: #{command}"
59
- end
60
-
61
- [stdout_reader.value, stderr_reader.value, thread.value]
62
- end
63
- end
64
-
65
- def execute_posix_spawn(command, options = {})
66
- require "posix-spawn"
67
- child = POSIX::Spawn::Child.new(*command, input: options[:stdin].to_s, timeout: MiniMagick.timeout)
68
- [child.out, child.err, child.status]
69
- rescue POSIX::Spawn::TimeoutExceeded
70
- raise Timeout::Error, "MiniMagick command timed out: #{command}"
71
- end
72
-
73
41
  def log(command, &block)
74
42
  value = nil
75
43
  duration = Benchmark.realtime { value = block.call }
@@ -2,15 +2,13 @@ require "mini_magick/shell"
2
2
 
3
3
  module MiniMagick
4
4
  ##
5
- # Abstract class that wraps command-line tools. It shouldn't be used directly,
6
- # but through one of its subclasses (e.g. {MiniMagick::Tool::Mogrify}). Use
7
- # this class if you want to be closer to the metal and execute ImageMagick
8
- # commands directly, but still with a nice Ruby interface.
5
+ # Class that wraps command-line tools directly, as opposed MiniMagick::Image
6
+ # which is more high-level.
9
7
  #
10
8
  # @example
11
- # MiniMagick::Tool::Mogrify.new do |builder|
12
- # builder.resize "500x500"
13
- # builder << "path/to/image.jpg"
9
+ # MiniMagick.mogrify do |mogrify|
10
+ # mogrify.resize "500x500"
11
+ # mogrify << "path/to/image.jpg"
14
12
  # end
15
13
  #
16
14
  class Tool
@@ -23,8 +21,7 @@ module MiniMagick
23
21
  # executes the command in the end.
24
22
  #
25
23
  # @example
26
- # version = MiniMagick::Tool::Identify.new { |b| b.version }
27
- # puts version
24
+ # puts MiniMagick.identify(&:version)
28
25
  #
29
26
  # @return [MiniMagick::Tool, String] If no block is given, returns an
30
27
  # instance of the tool, if block is given, returns the output of the
@@ -44,31 +41,33 @@ module MiniMagick
44
41
  # @private
45
42
  attr_reader :name, :args
46
43
 
47
- # @param whiny [Boolean] Whether to raise errors on exit codes different
48
- # than 0.
44
+ # @param name [String]
45
+ # @param options [Hash]
46
+ # @option options [Boolean] :errors Whether to raise errors on non-zero
47
+ # exit codes.
48
+ # @option options [Boolean] :warnings Whether to print warnings to stderrr.
49
+ # @option options [String] :stdin Content to send to standard input stream.
49
50
  # @example
50
- # MiniMagick::Tool::Identify.new(whiny: false) do |identify|
51
+ # MiniMagick.identify(errors: false) do |identify|
51
52
  # identify.help # returns exit status 1, which would otherwise throw an error
52
53
  # end
53
- def initialize(name, options = {})
54
- warn "MiniMagick::Tool.new(false) is deprecated and will be removed in MiniMagick 5, use MiniMagick::Tool.new(whiny: false) instead." if !options.is_a?(Hash)
55
-
56
- @name = name
57
- @args = []
58
- @whiny = options.is_a?(Hash) ? options.fetch(:whiny, MiniMagick.whiny) : options
54
+ def initialize(name, **options)
55
+ @name = name
56
+ @args = []
57
+ @options = options
59
58
  end
60
59
 
61
60
  ##
62
61
  # Executes the command that has been built up.
63
62
  #
64
63
  # @example
65
- # mogrify = MiniMagick::Tool::Mogrify.new
64
+ # mogrify = MiniMagick.mogrify
66
65
  # mogrify.resize("500x500")
67
66
  # mogrify << "path/to/image.jpg"
68
67
  # mogrify.call # executes `mogrify -resize 500x500 path/to/image.jpg`
69
68
  #
70
69
  # @example
71
- # mogrify = MiniMagick::Tool::Mogrify.new
70
+ # mogrify = MiniMagick.mogrify
72
71
  # # build the command
73
72
  # mogrify.call do |stdout, stderr, status|
74
73
  # # ...
@@ -78,16 +77,12 @@ module MiniMagick
78
77
  #
79
78
  # @return [String] Returns the output of the command
80
79
  #
81
- def call(*args)
82
- options = args[-1].is_a?(Hash) ? args.pop : {}
83
- warn "Passing whiny to MiniMagick::Tool#call is deprecated and will be removed in MiniMagick 5, use MiniMagick::Tool.new(whiny: false) instead." if args.any?
84
- whiny = args.fetch(0, @whiny)
85
-
86
- options[:whiny] = whiny
87
- options[:stderr] = false if block_given?
80
+ def call(**options)
81
+ options = @options.merge(options)
82
+ options[:warnings] = false if block_given?
88
83
 
89
84
  shell = MiniMagick::Shell.new
90
- stdout, stderr, status = shell.run(command, options)
85
+ stdout, stderr, status = shell.run(command, **options)
91
86
  yield stdout, stderr, status if block_given?
92
87
 
93
88
  stdout.chomp("\n")
@@ -99,7 +94,7 @@ module MiniMagick
99
94
  # @return [Array<String>]
100
95
  #
101
96
  # @example
102
- # mogrify = MiniMagick::Tool::Mogrify.new
97
+ # mogrify = MiniMagick.mogrify
103
98
  # mogrify.resize "500x500"
104
99
  # mogrify.contrast
105
100
  # mogrify.command #=> ["mogrify", "-resize", "500x500", "-contrast"]
@@ -110,29 +105,24 @@ module MiniMagick
110
105
 
111
106
  ##
112
107
  # The executable used for this tool. Respects
113
- # {MiniMagick::Configuration#cli}, {MiniMagick::Configuration#cli_path},
114
- # and {MiniMagick::Configuration#cli_prefix}.
108
+ # {MiniMagick::Configuration#cli_prefix}.
115
109
  #
116
110
  # @return [Array<String>]
117
111
  #
118
112
  # @example
119
- # MiniMagick.configure { |config| config.cli = :graphicsmagick }
120
- # identify = MiniMagick::Tool::Identify.new
121
- # identify.executable #=> ["gm", "identify"]
113
+ # identify = MiniMagick.identify
114
+ # identify.executable #=> ["magick", "identify"]
122
115
  #
123
116
  # @example
124
117
  # MiniMagick.configure do |config|
125
- # config.cli = :graphicsmagick
126
118
  # config.cli_prefix = ['firejail', '--force']
127
119
  # end
128
- # identify = MiniMagick::Tool::Identify.new
129
- # identify.executable #=> ["firejail", "--force", "gm", "identify"]
120
+ # identify = MiniMagick.identify
121
+ # identify.executable #=> ["firejail", "--force", "magick", "identify"]
130
122
  #
131
123
  def executable
132
124
  exe = [name]
133
125
  exe.unshift "magick" if MiniMagick.imagemagick7? && name != "magick"
134
- exe.unshift "gm" if MiniMagick.graphicsmagick?
135
- exe.unshift File.join(MiniMagick.cli_path, exe.shift) if MiniMagick.cli_path
136
126
  Array(MiniMagick.cli_prefix).reverse_each { |p| exe.unshift p } if MiniMagick.cli_prefix
137
127
  exe
138
128
  end
@@ -161,7 +151,7 @@ module MiniMagick
161
151
  # Changes the last operator to its "plus" form.
162
152
  #
163
153
  # @example
164
- # MiniMagick::Tool::Mogrify.new do |mogrify|
154
+ # MiniMagick.mogrify do |mogrify|
165
155
  # mogrify.antialias.+
166
156
  # mogrify.distort.+("Perspective", "0,0,4,5 89,0,45,46")
167
157
  # end
@@ -179,7 +169,7 @@ module MiniMagick
179
169
  # Create an ImageMagick stack in the command (surround.
180
170
  #
181
171
  # @example
182
- # MiniMagick::Tool::Convert.new do |convert|
172
+ # MiniMagick.convert do |convert|
183
173
  # convert << "wand.gif"
184
174
  # convert.stack do |stack|
185
175
  # stack << "wand.gif"
@@ -190,9 +180,15 @@ module MiniMagick
190
180
  # end
191
181
  # # executes `convert wand.gif \( wizard.gif -rotate 30 \) +append images.gif`
192
182
  #
193
- def stack
183
+ def stack(*args)
194
184
  self << "("
195
- yield self
185
+ args.each do |value|
186
+ case value
187
+ when Hash then value.each { |key, value| send(key, *value) }
188
+ when String then self << value
189
+ end
190
+ end
191
+ yield self if block_given?
196
192
  self << ")"
197
193
  end
198
194
 
@@ -200,7 +196,7 @@ module MiniMagick
200
196
  # Adds ImageMagick's pseudo-filename `-` for standard input.
201
197
  #
202
198
  # @example
203
- # identify = MiniMagick::Tool::Identify.new
199
+ # identify = MiniMagick.identify
204
200
  # identify.stdin
205
201
  # identify.call(stdin: image_content)
206
202
  # # executes `identify -` with the given standard input
@@ -213,7 +209,7 @@ module MiniMagick
213
209
  # Adds ImageMagick's pseudo-filename `-` for standard output.
214
210
  #
215
211
  # @example
216
- # content = MiniMagick::Tool::Convert.new do |convert|
212
+ # content = MiniMagick.convert do |convert|
217
213
  # convert << "input.jpg"
218
214
  # convert.auto_orient
219
215
  # convert.stdout
@@ -227,12 +223,13 @@ module MiniMagick
227
223
  ##
228
224
  # Define creator operator methods
229
225
  #
226
+ # @example
230
227
  # mogrify = MiniMagick::Tool.new("mogrify")
231
228
  # mogrify.canvas("khaki")
232
229
  # mogrify.command.join(" ") #=> "mogrify canvas:khaki"
233
230
  #
234
231
  CREATION_OPERATORS.each do |operator|
235
- define_method(operator.gsub('-', '_')) do |value = nil|
232
+ define_method(operator.tr('-', '_')) do |value = nil|
236
233
  self << "#{operator}:#{value}"
237
234
  self
238
235
  end
@@ -251,10 +248,11 @@ module MiniMagick
251
248
  ##
252
249
  # Any undefined method will be transformed into a CLI option
253
250
  #
251
+ # @example
254
252
  # mogrify = MiniMagick::Tool.new("mogrify")
255
253
  # mogrify.adaptive_blur("...")
256
254
  # mogrify.foo_bar
257
- # mogrify.command.join(" ") "mogrify -adaptive-blur ... -foo-bar"
255
+ # mogrify.command.join(" ") # => "mogrify -adaptive-blur ... -foo-bar"
258
256
  #
259
257
  def method_missing(name, *args)
260
258
  option = "-#{name.to_s.tr('_', '-')}"
@@ -263,35 +261,14 @@ module MiniMagick
263
261
  self
264
262
  end
265
263
 
266
- def self.option_methods
267
- @option_methods ||= (
268
- tool = new(whiny: false)
269
- tool << "-help"
270
- help_page = tool.call(stderr: false)
271
-
272
- cli_options = help_page.scan(/^\s+-[a-z\-]+/).map(&:strip)
273
- if tool.name == "mogrify" && MiniMagick.graphicsmagick?
274
- # These options were undocumented before 2015-06-14 (see gm bug 302)
275
- cli_options |= %w[-box -convolve -gravity -linewidth -mattecolor -render -shave]
264
+ # deprecated tool subclasses
265
+ %w[animate compare composite conjure convert display identify import magick mogrify montage stream].each do |tool|
266
+ const_set(tool.capitalize, Class.new(self) {
267
+ define_method(:initialize) do |*args|
268
+ super(tool, *args)
276
269
  end
277
-
278
- cli_options.map { |o| o[1..-1].tr('-','_') }
279
- )
270
+ })
271
+ deprecate_constant(tool.capitalize)
280
272
  end
281
-
282
273
  end
283
274
  end
284
-
285
- require "mini_magick/tool/animate"
286
- require "mini_magick/tool/compare"
287
- require "mini_magick/tool/composite"
288
- require "mini_magick/tool/conjure"
289
- require "mini_magick/tool/convert"
290
- require "mini_magick/tool/display"
291
- require "mini_magick/tool/identify"
292
- require "mini_magick/tool/import"
293
- require "mini_magick/tool/magick"
294
- require "mini_magick/tool/mogrify"
295
- require "mini_magick/tool/mogrify_restricted"
296
- require "mini_magick/tool/montage"
297
- require "mini_magick/tool/stream"
@@ -24,12 +24,10 @@ module MiniMagick
24
24
  end
25
25
 
26
26
  def tempfile(extension)
27
- Tempfile.new(["mini_magick", extension]).tap do |tempfile|
28
- tempfile.binmode
29
- yield tempfile if block_given?
30
- tempfile.close
31
- end
27
+ tempfile = Tempfile.new(["mini_magick", extension], MiniMagick.tmpdir, binmode: true)
28
+ yield tempfile if block_given?
29
+ tempfile.close
30
+ tempfile
32
31
  end
33
-
34
32
  end
35
33
  end
@@ -7,9 +7,9 @@ module MiniMagick
7
7
  end
8
8
 
9
9
  module VERSION
10
- MAJOR = 4
11
- MINOR = 9
12
- TINY = 5
10
+ MAJOR = 5
11
+ MINOR = 0
12
+ TINY = 0
13
13
  PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
data/lib/mini_magick.rb CHANGED
@@ -1,64 +1,39 @@
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 @imagemagick7 if defined?(@imagemagick7)
21
+ @imagemagick7 = !!MiniMagick::Utilities.which("magick")
39
22
  end
40
23
 
41
- ##
42
- # Checks whether the CLI used is GraphicsMagick.
43
- #
44
- # @return [Boolean]
45
- def self.graphicsmagick?
46
- cli == :graphicsmagick
24
+ %w[animate compare composite conjure convert display identify import mogrify montage stream].each do |tool|
25
+ name = imagemagick7? && tool == "convert" ? "magick" : tool
26
+ define_singleton_method(tool) do |**options, &block|
27
+ MiniMagick::Tool.new(name, **options, &block)
28
+ end
47
29
  end
48
30
 
49
31
  ##
50
- # Returns ImageMagick's/GraphicsMagick's version.
32
+ # Returns ImageMagick version.
51
33
  #
52
34
  # @return [String]
53
35
  def self.cli_version
54
- output = MiniMagick::Tool::Identify.new(&:version)
36
+ output = MiniMagick.identify(&:version)
55
37
  output[/\d+\.\d+\.\d+(-\d+)?/]
56
38
  end
57
-
58
- class Error < RuntimeError; end
59
- class Invalid < StandardError; end
60
-
61
39
  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.9.5
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Corey Johnson
@@ -10,10 +10,10 @@ authors:
10
10
  - James Miller
11
11
  - Thiago Fernandes Massa
12
12
  - Janko Marohnić
13
- autorequire:
13
+ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2019-07-18 00:00:00.000000000 Z
16
+ date: 2024-07-08 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: rake
@@ -43,48 +43,6 @@ dependencies:
43
43
  - - "~>"
44
44
  - !ruby/object:Gem::Version
45
45
  version: 3.5.0
46
- - !ruby/object:Gem::Dependency
47
- name: guard
48
- requirement: !ruby/object:Gem::Requirement
49
- requirements:
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: '0'
53
- type: :development
54
- prerelease: false
55
- version_requirements: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: '0'
60
- - !ruby/object:Gem::Dependency
61
- name: guard-rspec
62
- requirement: !ruby/object:Gem::Requirement
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: '0'
67
- type: :development
68
- prerelease: false
69
- version_requirements: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- version: '0'
74
- - !ruby/object:Gem::Dependency
75
- name: posix-spawn
76
- requirement: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: '0'
81
- type: :development
82
- prerelease: false
83
- version_requirements: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- version: '0'
88
46
  - !ruby/object:Gem::Dependency
89
47
  name: webmock
90
48
  requirement: !ruby/object:Gem::Requirement
@@ -99,7 +57,7 @@ dependencies:
99
57
  - - ">="
100
58
  - !ruby/object:Gem::Version
101
59
  version: '0'
102
- description: Manipulate images with minimal use of memory via ImageMagick / GraphicsMagick
60
+ description: Manipulate images with minimal use of memory via ImageMagick
103
61
  email:
104
62
  - probablycorey@gmail.com
105
63
  - hcatlin@gmail.com
@@ -112,34 +70,22 @@ extensions: []
112
70
  extra_rdoc_files: []
113
71
  files:
114
72
  - MIT-LICENSE
73
+ - README.md
115
74
  - Rakefile
116
- - lib/mini_gmagick.rb
117
75
  - lib/mini_magick.rb
118
76
  - lib/mini_magick/configuration.rb
119
77
  - lib/mini_magick/image.rb
120
78
  - lib/mini_magick/image/info.rb
121
79
  - lib/mini_magick/shell.rb
122
80
  - lib/mini_magick/tool.rb
123
- - lib/mini_magick/tool/animate.rb
124
- - lib/mini_magick/tool/compare.rb
125
- - lib/mini_magick/tool/composite.rb
126
- - lib/mini_magick/tool/conjure.rb
127
- - lib/mini_magick/tool/convert.rb
128
- - lib/mini_magick/tool/display.rb
129
- - lib/mini_magick/tool/identify.rb
130
- - lib/mini_magick/tool/import.rb
131
- - lib/mini_magick/tool/magick.rb
132
- - lib/mini_magick/tool/mogrify.rb
133
- - lib/mini_magick/tool/mogrify_restricted.rb
134
- - lib/mini_magick/tool/montage.rb
135
- - lib/mini_magick/tool/stream.rb
136
81
  - lib/mini_magick/utilities.rb
137
82
  - lib/mini_magick/version.rb
138
83
  homepage: https://github.com/minimagick/minimagick
139
84
  licenses:
140
85
  - MIT
141
- metadata: {}
142
- post_install_message:
86
+ metadata:
87
+ changelog_uri: https://github.com/minimagick/minimagick/releases
88
+ post_install_message:
143
89
  rdoc_options: []
144
90
  require_paths:
145
91
  - lib
@@ -147,16 +93,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
147
93
  requirements:
148
94
  - - ">="
149
95
  - !ruby/object:Gem::Version
150
- version: '0'
96
+ version: '2.3'
151
97
  required_rubygems_version: !ruby/object:Gem::Requirement
152
98
  requirements:
153
99
  - - ">="
154
100
  - !ruby/object:Gem::Version
155
101
  version: '0'
156
102
  requirements:
157
- - You must have ImageMagick or GraphicsMagick installed
158
- rubygems_version: 3.0.3
159
- signing_key:
103
+ - You must have ImageMagick installed
104
+ rubygems_version: 3.5.11
105
+ signing_key:
160
106
  specification_version: 4
161
- summary: Manipulate images with minimal use of memory via ImageMagick / GraphicsMagick
107
+ summary: Manipulate images with minimal use of memory via ImageMagick
162
108
  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