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