From: Mauricio Fernandez Date: 2006-10-20T07:29:58+09:00 Subject: Re: Parsing Ruby to get info about method signatures? On Fri, Oct 20, 2006 at 06:16:54AM +0900, Lyle Johnson wrote: > I'm interested in parsing some Ruby code for the purpose of extracting > information about the method signatures (including argument names and > default argument values). For example, if I had a method like: > > def foo(a, b=2, c=3) > ... > end > > I'd like to be able to programmatically determine that I have a method > named "foo", with arguments "a", "b" and "c", with defaults of 2 and 3 > for the latter two arguments. (I will use that information about the > method signatures to generate some additional code.) [...] http://eigenclass.org/hiki.rb?method+arguments+via+introspection $ ruby method_args.rb csv CSV::Cell#initialize (data = "", is_null = false) CSV::Cell#data () CSV.open (path, mode, fs = nil, rs = nil) CSV.foreach (path, rs = nil) CSV.read (path, length = nil, offset = nil) CSV.readlines (path, rs = nil) CSV.generate (path, fs = nil, rs = nil) CSV.parse (str_or_readable, fs = nil, rs = nil) CSV.parse_line (src, fs = nil, rs = nil) CSV.generate_line (row, fs = nil, rs = nil) CSV.parse_row (src, idx, out_dev, fs = nil, rs = nil) CSV.generate_row (src, cells, out_dev, fs = nil, rs = nil) CSV::Reader.parse (str_or_readable, fs = ",", rs = nil) CSV::Reader.create (str_or_readable, fs = ",", rs = nil) CSV::Reader#each () CSV::Reader#shift () CSV::Reader#close () CSV::Reader#initialize (dev) CSV::StringReader#initialize (string, fs = ",", rs = nil) ... -- Mauricio Fernandez - http://eigenclass.org - singular Ruby