Sha256: bae7517e9b63a448bb001789005842b819393f914919949f3d50d32030777bb1
Contents?: true
Size: 625 Bytes
Versions: 2
Compression:
Stored size: 625 Bytes
Contents
require "sexp_info/version" require 'active_support/all' require 'sexp_info/sexp_thing/sexp_thing' class SexpInfo def initialize(sexp) @sexp = sexp end def type sexp[1][0][0] end def defined_methods defined(:def) end def defined_classes defined(:class) end def defined_modules defined(:module) end def [](name) (defined_classes + defined_methods + defined_modules).find{|m| m == name } end private attr_reader :sexp def defined(type) sexp[1] ? sexp[1].find_all{|s| s[0] == type}.map{|c| "SexpThing::#{type.to_s.camelize}".constantize.new(c) } : [] end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sexp_info-0.0.2 | lib/sexp_info.rb |
sexp_info-0.0.1 | lib/sexp_info.rb |