In Files

Files

RailsBestPractices

Public Class Methods

add_duplicate_migrations(files) click to toggle source

for always_add_db_index_check

# File lib/rails_best_practices.rb, line 43
def add_duplicate_migrations files
  migration_files = files.select { |file| file.index("db/migrate") }
  (files << migration_files).flatten
end
analyze_files(dir = '.', options = {}) click to toggle source
# File lib/rails_best_practices.rb, line 7
def analyze_files(dir = '.', options = {})
  files = expand_dirs_to_files(dir)
  files = model_first_sort(files)
  files = add_duplicate_migrations(files)
  ['vendor', 'spec', 'test', 'stories'].each do |pattern|
    files = ignore_files(files, "#{pattern}/") unless options[pattern]
  end
  files
end
expand_dirs_to_files(*dirs) click to toggle source
# File lib/rails_best_practices.rb, line 17
def expand_dirs_to_files *dirs
  extensions = ['rb', 'erb', 'haml', 'builder']

  dirs.flatten.map { |p|
    if File.directory? p
      Dir[File.join(p, '**', "*.{#{extensions.join(',')}}")]
    else
      p
    end
  }.flatten
end
ignore_files(files, pattern) click to toggle source
# File lib/rails_best_practices.rb, line 48
def ignore_files files, pattern
  files.reject { |file| file.index(pattern) }
end
model_first_sort(files) click to toggle source

for law_of_demeter_check

# File lib/rails_best_practices.rb, line 30
def model_first_sort files
  files.sort { |a, b|
    if a =~ /models\/.*rb/
      -1
    elsif b =~ /models\/.*rb/
      1
    else
      a <=> b
    end
  }
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.