Module: Alf::Shell::Support

Defined in:
lib/alf/shell/support.rb

Instance Method Summary collapse

Instance Method Details

#compilerObject



9
10
11
# File 'lib/alf/shell/support.rb', line 9

def compiler
  @compiler ||= (database && database.connection.compiler) || Engine::Compiler.new(nil)
end

#databaseObject



5
6
7
# File 'lib/alf/shell/support.rb', line 5

def database
  requester && requester.database
end

#operands(argv, size = nil) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/alf/shell/support.rb', line 13

def operands(argv, size = nil)
  operands = [ stdin_operand ] + Array(argv)
  operands = operands[(operands.size - size)..-1] if size
  operands = operands.map{|arg|
    arg = Algebra.named_operand(arg.to_sym, database) if arg.is_a?(String)
    Algebra::Operand.coerce(arg)
  }
end

#stdin_operandObject



22
23
24
# File 'lib/alf/shell/support.rb', line 22

def stdin_operand
  requester.stdin_operand rescue $stdin
end