Class: OracleSqlParser::Ast::Array

Inherits:
Base
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/oracle-sql-parser/ast/array.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#==, #ast, find_different_value

Constructor Details

#initialize(*args) ⇒ Array

Returns a new instance of Array.



11
12
13
# File 'lib/oracle-sql-parser/ast/array.rb', line 11

def initialize(*args)
  @ast = args
end

Class Method Details

.[](*values) ⇒ Object



7
8
9
# File 'lib/oracle-sql-parser/ast/array.rb', line 7

def self.[](*values)
  self.new(*values)
end

Instance Method Details

#inspectObject



31
32
33
34
35
# File 'lib/oracle-sql-parser/ast/array.rb', line 31

def inspect
  "#<#{self.class.name} [\n" + 
  @ast.map{|v| "#{v.inspect}"}.join(",\n").gsub(/^/, '  ') +
  "\n]>\n"
end

#remove_nil_values!Object



25
26
27
28
29
# File 'lib/oracle-sql-parser/ast/array.rb', line 25

def remove_nil_values!
  @ast.delete_if{|v| v.nil?}
  @ast.each {|v| v.remove_nil_values! if v.respond_to? :remove_nil_values!}
  self
end

#to_sqlObject



15
16
17
18
19
20
21
22
23
# File 'lib/oracle-sql-parser/ast/array.rb', line 15

def to_sql
  @ast.map do |v|
    if v.respond_to? :to_sql
      v.to_sql
    else
      v.to_s
    end
  end.compact.join(" ")
end