class SexpInfo
Constants
- VERSION
Attributes
sexp[R]
Public Class Methods
new(sexp)
click to toggle source
# File lib/sexp_info.rb, line 7 def initialize(sexp) @sexp = sexp end
Public Instance Methods
[](name)
click to toggle source
# File lib/sexp_info.rb, line 36 def [](name) (children).find{|m| m == name } end
children()
click to toggle source
# File lib/sexp_info.rb, line 32 def children defined_classes + defined_methods + defined_modules end
defined_classes()
click to toggle source
# File lib/sexp_info.rb, line 19 def defined_classes defined(:class) end
defined_methods()
click to toggle source
# File lib/sexp_info.rb, line 15 def defined_methods defined(:def) end
defined_modules()
click to toggle source
# File lib/sexp_info.rb, line 27 def defined_modules defined(:module) end
to_h()
click to toggle source
# File lib/sexp_info.rb, line 23 def to_h Hash[children.map{|c| [c.name, c.to_h] }] end
type()
click to toggle source
# File lib/sexp_info.rb, line 11 def type sexp[1][0][0] end
Private Instance Methods
defined(type)
click to toggle source
# File lib/sexp_info.rb, line 43 def defined(type) sexp[1] ? sexp[1].find_all{|s| s[0] == type}.map{|c| "SexpThing::#{type.to_s.camelize}".constantize.new(c) } : [] end