Class: AM::CLI

Inherits:
Thor
  • Object
show all
Includes:
MessageControl, Validate
Defined in:
lib/am/cli.rb

Constant Summary

Constants included from MessageControl

MessageControl::ERROR_MESSAGE, MessageControl::NOTICE_MESSAGE, MessageControl::WARNING_MESSAGE

Instance Method Summary collapse

Methods included from Validate

#uniq?, #valid?

Methods included from MessageControl

#error, #notice, #print, #warning

Constructor Details

#initialize(*args) ⇒ CLI

Returns a new instance of CLI.



17
18
19
20
21
# File 'lib/am/cli.rb', line 17

def initialize(*args)
  super
  @config  = Config.new
  @ui      = Ui.new
end

Instance Method Details

#addObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/am/cli.rb', line 34

def add
  tail = Tail.new(@config)

  # registeration from history choice
  if options[:list]
    commands = tail.get_last_five_command
    @ui.print_last_commands(commands)
    new_alias = @ui.add_command_with_number(commands)

  # registeration from last history
  else
    last_command = tail.get_last_command
    new_alias   = @ui.add_command_with_last_history(last_command)
  end

  if uniq?(new_alias) && valid?(new_alias)
    @config.add_config(new_alias)
  end
end

#del(delete_alias = nil) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/am/cli.rb', line 56

def del(delete_alias=nil)
  if @config.al.empty?
    notice(:config_empty)
    exit
  end

  if options[:list] || delete_alias == nil
    # convert array
    arr =  @ui.print_current_config(@config)
    delete_alias = @ui.del_command_with_number(arr)
  end
  if delete_alias && @config.al.key?(delete_alias)
    @config.al.delete(delete_alias)
  else
    warning(:empty_config_number)
    self.del
  end
  @config.delete_config(delete_alias)
end

#showObject



24
25
26
27
28
29
30
# File 'lib/am/cli.rb', line 24

def show
  if @config.al.empty?
    notice(:config_empty)
  else
    @ui.print_current_config(@config)
  end
end