class Convoy::Setup::Dsl::Command
Public Class Methods
new(name, options = {}, &block)
click to toggle source
# File lib/convoy/setup/dsl/command.rb, line 5 def initialize(name, options = {}, &block) reset(name) @description = options[:description] || options[:desc] || "" @aliases = [options[:aliases] || []].flatten @requires_arguments ||= options[:requires_arguments] block.call(self) if block_given? rescue => e raise Convoy::ClientError.new("Problem with syntax of command '#{@name}' configuration", e) end
Public Instance Methods
action(&block)
click to toggle source
# File lib/convoy/setup/dsl/command.rb, line 19 def action(&block) Action.action(@name, @action, &block) end
command(name, options = {}, &block)
click to toggle source
# File lib/convoy/setup/dsl/command.rb, line 23 def command(name, options = {}, &block) options[:requires_arguments] = @requires_arguments command = Command.new(name.to_sym, options, &block) aliases = [options[:aliases] || []].flatten + [name] aliases.each do |name| @commands[name.to_sym] = command end end
description(description)
click to toggle source
# File lib/convoy/setup/dsl/command.rb, line 44 def description(description) @description = description end
options(&block)
click to toggle source
# File lib/convoy/setup/dsl/command.rb, line 15 def options(&block) Options.options(@name, @options, &block) end
requires_arguments(boolean = true)
click to toggle source
# File lib/convoy/setup/dsl/command.rb, line 32 def requires_arguments(boolean = true) raise Convoy::ClientError.new("Parameter to 'requires_arguments' must be a boolean") unless [true, false].include?(boolean) @requires_arguments = boolean @commands.each do |command| command.requires_arguments(boolean) end end
summary(summary)
click to toggle source
# File lib/convoy/setup/dsl/command.rb, line 40 def summary(summary) @summary = summary end
Private Instance Methods
custom_reset()
click to toggle source
# File lib/convoy/setup/dsl/command.rb, line 61 def custom_reset @aliases = [] end
reset(name)
click to toggle source
# File lib/convoy/setup/dsl/command.rb, line 50 def reset(name) @name = name @summary = nil @description = nil @requires_arguments = false @commands = {} @options = Options.new(name) @action = Action.new(name) custom_reset end