mini_magick 4.2.7 → 4.2.9
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.
Potentially problematic release.
This version of mini_magick might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/lib/mini_magick.rb +4 -2
- data/lib/mini_magick/configuration.rb +9 -2
- data/lib/mini_magick/image.rb +7 -1
- data/lib/mini_magick/image/info.rb +3 -2
- data/lib/mini_magick/shell.rb +3 -7
- data/lib/mini_magick/tool.rb +20 -18
- data/lib/mini_magick/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40fe759f030711a8b4cae6a7334ba2c553f848a3
|
4
|
+
data.tar.gz: 37037fc7631d55294c20ad991dbc8f0bfb6c8fb2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89c0deeaf8dc29605ac7651803be5af576822fcfa8485056254eec3710d31563a9f7d536b2f35d7e677d0b8ab9a4a35d5147aec18d0fba8e1fb9fbcb97f454b2
|
7
|
+
data.tar.gz: c553cc750c068c345fbc2757af7eb063e4d222102313f2a64930f9d67ff16adadfc636fe6b17b6377ce03bea0335f0f77d9a47ee6b7652ec02eb3cbf9b5eff28
|
data/lib/mini_magick.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
require 'mini_magick/configuration'
|
2
|
-
require 'mini_magick/tool'
|
3
|
-
require 'mini_magick/image'
|
4
2
|
|
5
3
|
module MiniMagick
|
6
4
|
|
@@ -19,6 +17,7 @@ module MiniMagick
|
|
19
17
|
old_cli = self.cli
|
20
18
|
self.cli = cli
|
21
19
|
yield
|
20
|
+
ensure
|
22
21
|
self.cli = old_cli
|
23
22
|
end
|
24
23
|
|
@@ -51,3 +50,6 @@ module MiniMagick
|
|
51
50
|
class Invalid < StandardError; end
|
52
51
|
|
53
52
|
end
|
53
|
+
|
54
|
+
require 'mini_magick/tool'
|
55
|
+
require 'mini_magick/image'
|
@@ -7,7 +7,7 @@ module MiniMagick
|
|
7
7
|
# Set whether you want to use [ImageMagick](http://www.imagemagick.org) or
|
8
8
|
# [GraphicsMagick](http://www.graphicsmagick.org).
|
9
9
|
#
|
10
|
-
# @return [Symbol] `:imagemagick` or `:
|
10
|
+
# @return [Symbol] `:imagemagick` or `:graphicsmagick`
|
11
11
|
#
|
12
12
|
attr_accessor :cli
|
13
13
|
# @private (for backwards compatibility)
|
@@ -131,7 +131,14 @@ module MiniMagick
|
|
131
131
|
def cli=(value)
|
132
132
|
@cli = value
|
133
133
|
|
134
|
-
|
134
|
+
case @cli
|
135
|
+
when :imagemagick
|
136
|
+
Utilities.which("mogrify") or
|
137
|
+
raise MiniMagick::Error, "ImageMagick is not installed or CLI is not found"
|
138
|
+
when :graphicsmagick
|
139
|
+
Utilities.which("gm") or
|
140
|
+
raise MiniMagick::Error, "GraphicsMagick is not installed or CLI is not found"
|
141
|
+
else
|
135
142
|
raise ArgumentError,
|
136
143
|
"CLI has to be set to either :imagemagick or :graphicsmagick" \
|
137
144
|
", was set to #{@cli.inspect}"
|
data/lib/mini_magick/image.rb
CHANGED
@@ -223,12 +223,18 @@ module MiniMagick
|
|
223
223
|
#
|
224
224
|
attribute :dimensions
|
225
225
|
##
|
226
|
-
# Returns the file size of the image.
|
226
|
+
# Returns the file size of the image (in bytes).
|
227
227
|
#
|
228
228
|
# @return [Integer]
|
229
229
|
#
|
230
230
|
attribute :size
|
231
231
|
##
|
232
|
+
# Returns the file size in a human readable format.
|
233
|
+
#
|
234
|
+
# @return [String]
|
235
|
+
#
|
236
|
+
attribute :human_size
|
237
|
+
##
|
232
238
|
# @return [String]
|
233
239
|
#
|
234
240
|
attribute :colorspace
|
@@ -11,7 +11,7 @@ module MiniMagick
|
|
11
11
|
|
12
12
|
def [](value, *args)
|
13
13
|
case value
|
14
|
-
when "format", "width", "height", "dimensions", "size"
|
14
|
+
when "format", "width", "height", "dimensions", "size", "human_size"
|
15
15
|
cheap_info(value)
|
16
16
|
when "colorspace"
|
17
17
|
colorspace
|
@@ -45,7 +45,8 @@ module MiniMagick
|
|
45
45
|
"width" => Integer(width),
|
46
46
|
"height" => Integer(height),
|
47
47
|
"dimensions" => [Integer(width), Integer(height)],
|
48
|
-
"size" => size
|
48
|
+
"size" => File.size(@path),
|
49
|
+
"human_size" => size,
|
49
50
|
)
|
50
51
|
|
51
52
|
@info.fetch(value)
|
data/lib/mini_magick/shell.rb
CHANGED
@@ -10,11 +10,7 @@ module MiniMagick
|
|
10
10
|
#
|
11
11
|
class Shell
|
12
12
|
|
13
|
-
def
|
14
|
-
@whiny = whiny
|
15
|
-
end
|
16
|
-
|
17
|
-
def run(command)
|
13
|
+
def run(command, options = {})
|
18
14
|
stdout, stderr, code = execute(command)
|
19
15
|
|
20
16
|
case code
|
@@ -22,9 +18,9 @@ module MiniMagick
|
|
22
18
|
fail MiniMagick::Error, "`#{command.join(" ")}` failed with error:\n#{stderr}"
|
23
19
|
when 127
|
24
20
|
fail MiniMagick::Error, stderr
|
25
|
-
end if
|
21
|
+
end if options.fetch(:whiny, true)
|
26
22
|
|
27
|
-
$stderr.print(stderr)
|
23
|
+
$stderr.print(stderr) unless options[:stderr] == false
|
28
24
|
|
29
25
|
stdout
|
30
26
|
end
|
data/lib/mini_magick/tool.rb
CHANGED
@@ -15,18 +15,6 @@ module MiniMagick
|
|
15
15
|
#
|
16
16
|
class Tool
|
17
17
|
|
18
|
-
autoload :Animate, "mini_magick/tool/animate"
|
19
|
-
autoload :Compare, "mini_magick/tool/compare"
|
20
|
-
autoload :Composite, "mini_magick/tool/composite"
|
21
|
-
autoload :Conjure, "mini_magick/tool/conjure"
|
22
|
-
autoload :Convert, "mini_magick/tool/convert"
|
23
|
-
autoload :Display, "mini_magick/tool/display"
|
24
|
-
autoload :Identify, "mini_magick/tool/identify"
|
25
|
-
autoload :Import, "mini_magick/tool/import"
|
26
|
-
autoload :Mogrify, "mini_magick/tool/mogrify"
|
27
|
-
autoload :Montage, "mini_magick/tool/montage"
|
28
|
-
autoload :Stream, "mini_magick/tool/stream"
|
29
|
-
|
30
18
|
# @private
|
31
19
|
def self.inherited(child)
|
32
20
|
child_name = child.name.split("::").last.downcase
|
@@ -78,7 +66,7 @@ module MiniMagick
|
|
78
66
|
# mogrify = MiniMagick::Tool::Mogrify.new
|
79
67
|
# mogrify.resize("500x500")
|
80
68
|
# mogrify << "path/to/image.jpg"
|
81
|
-
#
|
69
|
+
# mogrify.call # executes `mogrify -resize 500x500 path/to/image.jpg`
|
82
70
|
#
|
83
71
|
# @param whiny [Boolean] Whether you want an error to be raised when
|
84
72
|
# ImageMagick returns an exit code of 1. You may want this because
|
@@ -87,9 +75,9 @@ module MiniMagick
|
|
87
75
|
#
|
88
76
|
# @return [String] Output of the command
|
89
77
|
#
|
90
|
-
def call(whiny = @whiny)
|
91
|
-
shell = MiniMagick::Shell.new
|
92
|
-
shell.run(command).strip
|
78
|
+
def call(whiny = @whiny, options = {})
|
79
|
+
shell = MiniMagick::Shell.new
|
80
|
+
shell.run(command, options.merge(whiny: whiny)).strip
|
93
81
|
end
|
94
82
|
|
95
83
|
##
|
@@ -224,7 +212,7 @@ module MiniMagick
|
|
224
212
|
# mogrify.antialias
|
225
213
|
# mogrify.depth(8)
|
226
214
|
# mogrify.resize("500x500")
|
227
|
-
#
|
215
|
+
# mogrify.command.join(" ")
|
228
216
|
# #=> "mogrify -antialias -depth 8 -resize 500x500"
|
229
217
|
#
|
230
218
|
def option(*options)
|
@@ -259,7 +247,9 @@ module MiniMagick
|
|
259
247
|
end
|
260
248
|
|
261
249
|
def cli_options
|
262
|
-
|
250
|
+
tool = MiniMagick::Tool.new(@tool_name)
|
251
|
+
tool << "-help"
|
252
|
+
help = tool.call(false, stderr: false)
|
263
253
|
cli_options = help.scan(/^\s+-[a-z\-]+/).map(&:strip)
|
264
254
|
end
|
265
255
|
|
@@ -267,3 +257,15 @@ module MiniMagick
|
|
267
257
|
|
268
258
|
end
|
269
259
|
end
|
260
|
+
|
261
|
+
require "mini_magick/tool/animate"
|
262
|
+
require "mini_magick/tool/compare"
|
263
|
+
require "mini_magick/tool/composite"
|
264
|
+
require "mini_magick/tool/conjure"
|
265
|
+
require "mini_magick/tool/convert"
|
266
|
+
require "mini_magick/tool/display"
|
267
|
+
require "mini_magick/tool/identify"
|
268
|
+
require "mini_magick/tool/import"
|
269
|
+
require "mini_magick/tool/mogrify"
|
270
|
+
require "mini_magick/tool/montage"
|
271
|
+
require "mini_magick/tool/stream"
|
data/lib/mini_magick/version.rb
CHANGED
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.2.
|
4
|
+
version: 4.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Corey Johnson
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2015-
|
16
|
+
date: 2015-08-02 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: rake
|
@@ -118,3 +118,4 @@ signing_key:
|
|
118
118
|
specification_version: 4
|
119
119
|
summary: Manipulate images with minimal use of memory via ImageMagick / GraphicsMagick
|
120
120
|
test_files: []
|
121
|
+
has_rdoc:
|