Class: MiniMagick::CommandBuilder
- Inherits:
-
Object
- Object
- MiniMagick::CommandBuilder
- Defined in:
- lib/mini_magick/command_builder.rb
Constant Summary collapse
- MOGRIFY_COMMANDS =
%w(adaptive-blur adaptive-resize adaptive-sharpen adjoin affine alpha annotate antialias append attenuate authenticate auto-gamma auto-level auto-orient backdrop background bench bias black-point-compensation black-threshold blend blue-primary blue-shift blur border bordercolor borderwidth brightness-contrast cache caption cdl channel charcoal chop clamp clip clip-mask clip-path clone clut coalesce colorize colormap color-matrix colors colorspace combine comment compose composite compress contrast contrast-stretch convolve crop cycle debug decipher deconstruct define delay delete density depth descend deskew despeckle direction displace display dispose dissimilarity-threshold dissolve distort dither draw duplicate edge emboss encipher encoding endian enhance equalize evaluate evaluate-sequence extent extract family features fft fill filter flatten flip floodfill flop font foreground format frame function fuzz fx gamma gaussian-blur geometry gravity green-primary hald-clut help highlight-color iconGeometry iconic identify ift immutable implode insert intent interlace interpolate interline-spacing interword-spacing kerning label lat layers level level-colors limit linear-stretch linewidth liquid-rescale list log loop lowlight-color magnify map mask mattecolor median metric mode modulate monitor monochrome morph morphology mosaic motion-blur name negate noise normalize opaque ordered-dither orient page paint path pause pen perceptible ping pointsize polaroid poly posterize precision preview print process profile quality quantize quiet radial-blur raise random-threshold red-primary regard-warnings region remap remote render repage resample resize respect-parentheses reverse roll rotate sample sampling-factor scale scene screen seed segment selective-blur separate sepia-tone set shade shadow shared-memory sharpen shave shear sigmoidal-contrast silent size sketch smush snaps solarize sparse-color splice spread statistic stegano stereo stretch strip stroke strokewidth style subimage-search swap swirl synchronize taint text-font texture threshold thumbnail tile tile-offset tint title transform transparent transparent-color transpose transverse treedepth trim type undercolor unique-colors units unsharp update verbose version view vignette virtual-pixel visual watermark wave weight white-point white-threshold window window-group write)
- IMAGE_CREATION_OPERATORS =
%w(canvas caption gradient label logo pattern plasma radial radient rose text tile xc)
Instance Method Summary collapse
- #+(*options) ⇒ Object
- #add_command(command, *options) ⇒ Object
- #add_creation_operator(command, *options) ⇒ Object
- #args ⇒ Object
- #command ⇒ Object
- #format(*options) ⇒ Object
-
#initialize(tool, *options) ⇒ CommandBuilder
constructor
A new instance of CommandBuilder.
- #push(arg) ⇒ Object (also: #<<)
Constructor Details
#initialize(tool, *options) ⇒ CommandBuilder
Returns a new instance of CommandBuilder.
6 7 8 9 10 |
# File 'lib/mini_magick/command_builder.rb', line 6 def initialize(tool, *) @tool = tool @args = [] .each { |arg| push(arg) } end |
Instance Method Details
#+(*options) ⇒ Object
73 74 75 76 |
# File 'lib/mini_magick/command_builder.rb', line 73 def +(*) push(@args.pop.gsub(/\A-/, '+')) .to_a.each { |option| push(option) } end |
#add_command(command, *options) ⇒ Object
78 79 80 81 |
# File 'lib/mini_magick/command_builder.rb', line 78 def add_command(command, *) push "-#{command}" .to_a.each { |option| push(option) } end |
#add_creation_operator(command, *options) ⇒ Object
83 84 85 86 87 |
# File 'lib/mini_magick/command_builder.rb', line 83 def add_creation_operator(command, *) creation_command = command .to_a.each { |option| creation_command << ":#{option}" } push creation_command end |
#args ⇒ Object
20 21 22 |
# File 'lib/mini_magick/command_builder.rb', line 20 def args @args.map { |arg| Utilities.escape(arg) } end |
#command ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/mini_magick/command_builder.rb', line 12 def command com = "#{@tool} #{args.join(' ')}".strip com = "#{MiniMagick.processor} #{com}" unless MiniMagick.mogrify? com = File.join MiniMagick.processor_path, com if MiniMagick.processor_path com.strip end |
#format(*options) ⇒ Object
48 49 50 |
# File 'lib/mini_magick/command_builder.rb', line 48 def format(*) fail Error, "You must call 'format' on the image object directly!" end |
#push(arg) ⇒ Object Also known as: <<
89 90 91 |
# File 'lib/mini_magick/command_builder.rb', line 89 def push(arg) @args << arg.to_s.strip end |