class Slideparts::Command

Public Class Methods

execute() click to toggle source
# File lib/slideparts/command.rb, line 19
def execute
  options = {}
  commands = OptionParser.new do |opt|
    subclasses.map(&:options).inject({}){|ret, option| ret.merge(option)}.each do |key, value|
      opt.on(*value) do |v|
        options[key] = v
      end
    end
  end.parse!

  subclasses.each do |subclass|
    if subclass.syntax.include? commands.first
      subclass.process(commands[1..-1], options)
    end
  end
end
inherited(base) click to toggle source
Calls superclass method
# File lib/slideparts/command.rb, line 10
def inherited(base)
  subclasses << base
  super(base)
end
slide_template() click to toggle source
# File lib/slideparts/command.rb, line 15
def slide_template
  File.expand_path("../slide_template", File.dirname(__FILE__))
end
subclasses() click to toggle source
# File lib/slideparts/command.rb, line 6
def subclasses
  @subclasses ||= []
end