Object
# File lib/rails_best_practices/core/visitable_sexp.rb, line 6 def accept(visitor) visitor.visit(self) end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 61 def arguments if [:attrasgn, :call].include? node_type self[3] end end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 97 def body if :block == node_type self[1..-1] elsif :class == node_type self[3] elsif :defn == node_type self[3][1] elsif :defs == node_type self[4][1] end end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 67 def call if [:if, :arglist].include? node_type self[1] end end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 14 def children find_all { | sexp | Sexp === sexp } end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 73 def conditional_statement if node_type == :if self[1] end end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 85 def false_node if :if == node_type self[3] end end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 34 def grep_nodes(options) return self if options.empty? node_type = options[:node_type] subject = options[:subject] message = options[:message] arguments = options[:arguments] nodes = [] self.recursive_children do |child| if (!node_type or node_type == child.node_type) and (!subject or subject == child.subject) and (!message or message == child.message) and (!arguments or arguments == child.arguments) nodes << child end end nodes end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 18 def is_language_node? first.class == Symbol end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 55 def message if [:attrasgn, :call, :defs].include? node_type self[2] end end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 91 def message_name if :defn == node_type self[1] end end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 10 def node_type first end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 27 def recursive_children(&handler) visitable_children.each do |child| handler.call child child.recursive_children(&handler) end end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 49 def subject if [:attrasgn, :call, :iasgn, :lasgn, :class].include? node_type self[1] end end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 109 def to_ruby Ruby2Ruby.new.process(self) unless self.empty? end
# File lib/rails_best_practices/core/visitable_sexp.rb, line 113 def to_ruby_string return nil if self.empty? eval(Ruby2Ruby.new.process(self)).to_s end
Generated with the Darkfish Rdoc Generator 2.