Class: SpecRegressionGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/spec_regression_generator.rb

Instance Method Summary collapse

Instance Method Details

#all_modelsObject



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/generators/spec_regression_generator.rb', line 4

def all_models
  # must eager load all the classes...
  Dir.glob("#{Rails.root}/app/models/**/*.rb") do |model_path|
    begin
      require model_path
    rescue
      # ignore
    end
  end
  # simply return them
  ActiveRecord::Base.send(:subclasses)
end

#create_regression_filesObject



18
19
20
21
22
23
# File 'lib/generators/spec_regression_generator.rb', line 18

def create_regression_files
  all_models.map(&:name).reject { |x| Regressor.configuration.excluded_models.include? x }.each do |model|
    @model = RegressionModel.new(model)
    create_file "#{Regressor.configuration.regression_path}/#{model.tableize.gsub("/", "_").singularize}_spec.rb", ERB.new(File.new(File.expand_path('templates/spec_regression_template.rb.erb', File.dirname(__FILE__))).read).result(binding)
  end
end