module DTK::Client::CLI::Command::Token::ClassMixin

Public Instance Methods

method_missing(method, *_args, &_body) click to toggle source
Calls superclass method
# File lib/cli/command/token/class_mixin.rb, line 21
def method_missing(method, *_args, &_body)
  tokens[method] || super
end
opt?(canonical_name) click to toggle source
# File lib/cli/command/token/class_mixin.rb, line 29
def opt?(canonical_name)
  if token = token(canonical_name)
    token.key
  end
end
option_ref(canonical_name) click to toggle source
# File lib/cli/command/token/class_mixin.rb, line 35
def option_ref(canonical_name)
  if token = token(canonical_name)
    token.ref
  else
    ''
  end
end
respond_to?(method) click to toggle source
Calls superclass method
# File lib/cli/command/token/class_mixin.rb, line 25
def respond_to?(method)
  tokens.include?(method) or super
end
ret(gli_command, *args) click to toggle source
# File lib/cli/command/token/class_mixin.rb, line 43
def ret(gli_command, *args)
  ret_when_token_obj?(gli_command, *args) || apply_gli_command(gli_command, *args)
end

Private Instance Methods

apply_gli_command(gli_command, *args) click to toggle source
# File lib/cli/command/token/class_mixin.rb, line 59
def apply_gli_command(gli_command, *args)
  gli_command.send(token_type, *args)
end
flag_token(canonical_name) click to toggle source
# File lib/cli/command/token/class_mixin.rb, line 68
def flag_token(canonical_name)
  ret = flag_tokens[canonical_name]
  raise Error, "flag_token called with non flag token '#{canonical_name}'" unless ret.kind_of?(Flag)
  ret
end
flag_tokens() click to toggle source
# File lib/cli/command/token/class_mixin.rb, line 54
def flag_tokens
  #flag tokens in TOKENS
  TOKENS
end
ret_when_token_obj?(gli_command, *args) click to toggle source
# File lib/cli/command/token/class_mixin.rb, line 74
def ret_when_token_obj?(gli_command, *args)
  if args[0].kind_of?(self)
    token = args[0]
    case args.size
    when 1
      apply_gli_command(gli_command, token.key, token)
    when 2
      if args[1].kind_of?(::Array)
        apply_gli_command(gli_command, args[1], token) 
      elsif args[1].kind_of?(::Hash)
        apply_gli_command(gli_command, token.key, token.add_overrides(args[1]))
      end
    when 3
      if args[1].kind_of?(::Array) and args[2].kind_of?(::Hash)
        apply_gli_command(gli_command, args[1], token.add_overrides(args[2]))
      end
    end
  end
end
token(canonical_name) click to toggle source
# File lib/cli/command/token/class_mixin.rb, line 64
def token(canonical_name)
  tokens[canonical_name]
end
tokens() click to toggle source

this can be overwritten

# File lib/cli/command/token/class_mixin.rb, line 50
def tokens
  TOKENS
end