Class: Elasticshell::Commands::Cd

Inherits:
Elasticshell::Command show all
Defined in:
lib/elasticshell/commands/cd.rb

Instance Attribute Summary

Attributes inherited from Elasticshell::Command

#input, #shell

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Elasticshell::Command

#be_connected!, #initialize

Constructor Details

This class inherits a constructor from Elasticshell::Command

Class Method Details

.matches?(input) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/elasticshell/commands/cd.rb', line 5

def self.matches? input
  input =~ /^cd/
end

Instance Method Details

#evaluate!Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/elasticshell/commands/cd.rb', line 9

def evaluate!
  if input =~ /^cd$/
    shell.scope = Scopes.global(:client => shell.client)
    return
  end
  
  return unless input =~ /^cd\s+(.+)$/
  scope = $1
  if scope =~ %r!^/!
    shell.scope = Scopes.from_path(scope, :client => shell.client)
  else
    shell.scope = Scopes.from_path(File.expand_path(File.join(shell.scope.path, scope)), :client => shell.client)
  end
end