Class: Nerdinator::Cli

Inherits:
Thor
  • Object
show all
Defined in:
lib/nerdinator/cli.rb

Instance Method Summary collapse

Constructor Details

#initialize(args = [], local_options = {}, config = {}) ⇒ Cli

Returns a new instance of Cli.



3
4
5
6
7
8
# File 'lib/nerdinator/cli.rb', line 3

def initialize(args = [], local_options = {}, config = {})
  super(args, local_options, config)
  @session = Nerdinator::Session.instance
  @config = Nerdinator::Config.instance
  @session.tree = @config.read || Hash.new
end

Instance Method Details

#add(session_path) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/nerdinator/cli.rb', line 19

def add(session_path)
  session_query = session_path.split('/')
  @session.add(session_query)

  @config.write(@session.tree)
  @config.link(session_query.last)
end

#listObject



12
13
14
# File 'lib/nerdinator/cli.rb', line 12

def list
  @session.list
end

#remove(session_path) ⇒ Object



29
30
31
32
33
# File 'lib/nerdinator/cli.rb', line 29

def remove(session_path)
  session_query = session_path.split('/')
  @session.remove(session_query)
  @config.write(@session.tree)
end

#start(session_path = String.new) ⇒ Object



36
37
38
39
# File 'lib/nerdinator/cli.rb', line 36

def start(session_path = String.new)
  session_query = session_path.split('/')
  @config.start(@session.leaves(session_query).uniq)
end