Class: MiniMagick::CommandBuilder
- Inherits:
-
Object
- Object
- MiniMagick::CommandBuilder
- Defined in:
- lib/mini_magick.rb
Instance Attribute Summary collapse
-
#args ⇒ Object
readonly
Returns the value of attribute args.
-
#command ⇒ Object
readonly
Returns the value of attribute command.
Instance Method Summary collapse
- #+(*options) ⇒ Object
- #add(command, *options) ⇒ Object
-
#initialize(command, *options) ⇒ CommandBuilder
constructor
A new instance of CommandBuilder.
- #method_missing(symbol, *options) ⇒ Object
- #push(arg) ⇒ Object (also: #<<)
Constructor Details
#initialize(command, *options) ⇒ CommandBuilder
Returns a new instance of CommandBuilder.
424 425 426 427 428 |
# File 'lib/mini_magick.rb', line 424 def initialize(command, *) @command = command @args = [] .each { |arg| push(arg) } end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(symbol, *options) ⇒ Object
434 435 436 437 438 439 440 441 442 443 444 |
# File 'lib/mini_magick.rb', line 434 def method_missing(symbol, *) guessed_command_name = symbol.to_s.gsub('_','-') if guessed_command_name == "format" raise Error, "You must call 'format' on the image object directly!" elsif MOGRIFY_COMMANDS.include?(guessed_command_name) add(guessed_command_name, *) self else super(symbol, *args) end end |
Instance Attribute Details
#args ⇒ Object (readonly)
Returns the value of attribute args.
421 422 423 |
# File 'lib/mini_magick.rb', line 421 def args @args end |
#command ⇒ Object (readonly)
Returns the value of attribute command.
422 423 424 |
# File 'lib/mini_magick.rb', line 422 def command @command end |
Instance Method Details
#+(*options) ⇒ Object
446 447 448 449 450 451 452 453 |
# File 'lib/mini_magick.rb', line 446 def +(*) push(@args.pop.gsub(/^-/, '+')) if .any? .each do |o| push "\"#{ o }\"" end end end |
#add(command, *options) ⇒ Object
455 456 457 458 459 460 461 462 |
# File 'lib/mini_magick.rb', line 455 def add(command, *) push "-#{command}" if .any? .each do |o| push "\"#{ o }\"" end end end |
#push(arg) ⇒ Object Also known as: <<
464 465 466 |
# File 'lib/mini_magick.rb', line 464 def push(arg) @args << arg.to_s.strip end |