class Commands::CommandOption
Attributes
arg[RW]
commands[RW]
description[RW]
name[RW]
parent_commands[RW]
Public Class Methods
new(name, description, arg, parent_commands, commands, field_symbol=nil, pattern=nil)
click to toggle source
# File lib/commands.rb, line 188 def initialize(name, description, arg, parent_commands, commands, field_symbol=nil, pattern=nil) @name = name @description = description @arg = arg @parent_commands = parent_commands @commands = commands @field_symbol = field_symbol @pattern = pattern end
Public Instance Methods
attach(commands)
click to toggle source
# File lib/commands.rb, line 198 def attach(commands) for command in commands.reverse do command_name = command.name.split(/\s+/).first if @parent_commands.include?(command_name) || @parent_commands.include?(command.class) then return command end end raise RuntimeError, "Expected argument #{name} to follow one of #{parent_commands.join(", ")}" end