Module: VirtualModule::SexpParser

Included in:
Builder
Defined in:
lib/virtual_module.rb

Instance Method Summary collapse

Instance Method Details

#extract_args(s) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
# File 'lib/virtual_module.rb', line 44

def extract_args(s)
  if s.instance_of?(Array) && s[0].instance_of?(Symbol) then
    if [:vcall, :var_field].include?(s[0])
      "#{s[1][1]},"
    else
      s.map{|e| extract_args(e)}.join
    end
  elsif s.instance_of?(Array) && s[0].instance_of?(Array) then
    s.map{|e| extract_args(e)}.join
  end
end

#extract_defs(s) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/virtual_module.rb', line 32

def extract_defs(s)
  if s.instance_of?(Array) && s[0].instance_of?(Symbol) then
    if [:def].include?(s[0])
      "#{s[1][1]},"
    else
      s.map{|e| extract_defs(e)}.join
    end
  elsif s.instance_of?(Array) && s[0].instance_of?(Array) then
    s.map{|e| extract_defs(e)}.join
  end
end