# File lib/merb-action-args/get_args.rb, line 38 def get_args if arg_node = deep_array_node(:args) # method defined with def keyword args = arg_node.arg_nodes default_node = arg_node.deep_array_node(:block) return [args, []] unless default_node else # assuming method defined with Module#define_method return [[],[]] end # if it was defined with def, and we found the default_node, # that should bring us back to regularly scheduled programming.. lasgns = default_node[1..-1] lasgns.each do |asgn| args.assoc(asgn[1]) << eval(R2R.new.process(asgn[2])) end [args, (default_node[1..-1].map { |asgn| asgn[1] })] end