class EverydayThorUtil::BuilderBuildItems::BuilderCommand

Public Class Methods

new(parent = nil, options = {}, &block) click to toggle source
# File lib/everyday_thor_util/builder.rb, line 7
def initialize(parent = nil, options = {}, &block)
  @aliases = options.delete(:aliases) if options.has_key?(:aliases) && !parent.nil?
  @parent  = parent
  @options = options
  @body    = block
end

Public Instance Methods

[](name) click to toggle source
# File lib/everyday_thor_util/builder.rb, line 50
def [](name)
  if self.commands.has_key?(name)
    self.commands[name]
  elsif self.helpers.has_key?(name)
    self.helpers[name]
  elsif self.flags.has_key?(name)
    self.flags[name]
  else
    nil
  end
end
[]=(name, obj) click to toggle source
# File lib/everyday_thor_util/builder.rb, line 62
def []=(name, obj)
  if obj.is_a?(Hash)
    self.flags[name] = obj
  elsif obj.is_a?(BuilderCommand)
    self.commands[name] = obj
  elsif obj.is_a?(Proc)
    self.helpers[name] = obj
  end
end
aliases() click to toggle source
# File lib/everyday_thor_util/builder.rb, line 30
def aliases
  @aliases ||= []
end
body() click to toggle source
# File lib/everyday_thor_util/builder.rb, line 18
def body
  @body
end
commands() click to toggle source
# File lib/everyday_thor_util/builder.rb, line 34
def commands
  @commands ||= EverydayThorUtil::BuilderBuildLists::BuilderCommands.new(self)
end
define(&block) click to toggle source
# File lib/everyday_thor_util/builder.rb, line 26
def define(&block)
  block.call(self.commands, self.flags, self.helpers)
end
flags() click to toggle source
# File lib/everyday_thor_util/builder.rb, line 38
def flags
  @flags ||= EverydayThorUtil::BuilderBuildLists::BuilderFlags.new(self)
end
helpers() click to toggle source
# File lib/everyday_thor_util/builder.rb, line 42
def helpers
  @helpers ||= EverydayThorUtil::BuilderBuildLists::BuilderHelpers.new(self)
end
leaf?() click to toggle source
# File lib/everyday_thor_util/builder.rb, line 46
def leaf?
  self.commands.commands.empty? && self.helpers.helpers.empty?
end
options() click to toggle source
# File lib/everyday_thor_util/builder.rb, line 22
def options
  @options
end
parent() click to toggle source
# File lib/everyday_thor_util/builder.rb, line 14
def parent
  @parent
end