Class: Dotman::Shell::Statement

Inherits:
Object
  • Object
show all
Defined in:
lib/dotman/shell/statement.rb

Instance Method Summary collapse

Constructor Details

#initialize(condition, true_statement, false_statement = nil) ⇒ Statement

Returns a new instance of Statement.



3
4
5
6
7
# File 'lib/dotman/shell/statement.rb', line 3

def initialize(condition, true_statement, false_statement = nil)
    @condition = condition
    @true_statement = true_statement
    @false_statement = false_statement
end

Instance Method Details

#to_s(level = 0) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/dotman/shell/statement.rb', line 9

def to_s(level = 0)
    if @condition.nil?
        return @true_statement.to_s(level)
    end

    indent = Shell.indent(level)

    s = indent + "if %s; then\n" % @condition
    s << "%s\n" % @true_statement.to_s(level + 1)

    if @false_statement
        s << indent + "else\n"
        s << "%s\n" % @false_statement.to_s(level + 1)
    end

    s << indent + 'fi'
    s
end