Sha256: 69b283afaebb44dab3ebcf0c558906e3bc2c24819dd58ad3b9ee482e00dff52a
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
# encoding: utf-8 module RailsBestPractices module Prepares # Remember helper methods. class HelperPrepare < Core::Check include Core::Check::Moduleable include Core::Check::Accessable interesting_nodes :def, :command interesting_files HELPER_FILES, CONTROLLER_FILES def initialize @helpers = Prepares.helpers @methods = Prepares.helper_methods end # check module node to remember the module name. add_callback :start_module do |node| @helpers << Core::Mod.new(current_module_name, []) end # check def node to remember all methods. # # the remembered methods (@methods) are like # { # "PostsHelper" => { # "create_time" => {"file" => "app/helpers/posts_helper.rb", "line" => 10, "unused" => false}, # "update_time" => {"file" => "app/helpers/posts_helper.rb", "line" => 10, "unused" => false} # } # } add_callback :start_def do |node| if node.file =~ HELPER_FILES method_name = node.method_name.to_s @methods.add_method(current_module_name, method_name, {"file" => node.file, "line" => node.line}, current_access_control) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails_best_practices-1.14.0 | lib/rails_best_practices/prepares/helper_prepare.rb |