class Gracefully::Command

Public Class Methods

new(*args, &block) click to toggle source
# File lib/gracefully/command.rb, line 3
def initialize(*args, &block)
  @callable, @options = Command.normalize_arguments(*args, &block)
end
normalize_arguments(*args, &block) click to toggle source
# File lib/gracefully/command.rb, line 7
def self.normalize_arguments(*args, &block)
  if args.size == 0
    [block, {}]
  elsif args.size == 1
    [block, args.first]
  elsif args.size == 2
    args
  else
    raise "Invalid number of arguments: #{args.size}"
  end
end

Public Instance Methods

call(*args, &block) click to toggle source
# File lib/gracefully/command.rb, line 19
def call(*args, &block)
  @callable.call *args, &block
end