class SexpThing::Args

Public Instance Methods

[](index) click to toggle source
# File lib/sexp_info/sexp_thing/args.rb, line 5
def [](index)
  args[index]
end
count() click to toggle source
# File lib/sexp_info/sexp_thing/args.rb, line 9
def count
  args.count
end

Private Instance Methods

arg_list() click to toggle source
# File lib/sexp_info/sexp_thing/args.rb, line 19
def arg_list
  return (sexp[1] ? [Arg.new(sexp[1])] : []) if sexp[0] == :params
  (sexp[0] == :paren ? sexp[1][1] : sexp[1]).map{|a| Arg.new(a) }
end
args() click to toggle source
# File lib/sexp_info/sexp_thing/args.rb, line 15
def args
  arg_list + optional_args_list
end
optional_args_list() click to toggle source
# File lib/sexp_info/sexp_thing/args.rb, line 24
def optional_args_list
  as = (sexp[0] == :paren ? sexp[1][2] : sexp[2])
  as ? as.map{|a| Arg.new(a) } : []
end