class Regressor::ModelGenerator
Public Instance Methods
create_regression_files()
click to toggle source
# File lib/generators/regressor/model_generator.rb, line 7 def create_regression_files load_application generate_ar_specs end
Private Instance Methods
generate_ar_specs()
click to toggle source
# File lib/generators/regressor/model_generator.rb, line 14 def generate_ar_specs load_ar_models.each do |model| save_generate(model) do @model = ::Regressor::Model::ActiveRecordModel.new(model) create_file "#{Regressor.configuration.regression_path}/#{model.tableize.gsub("/", "_").singularize}_spec.rb", ERB.new(File.new(File.expand_path('../../templates/model/active_record/model_template.erb', File.dirname(__FILE__))).read).result(binding) end end end
load_application()
click to toggle source
# File lib/generators/regressor/model_generator.rb, line 24 def load_application Rails.application.try(:eager_load!) end
load_ar_models()
click to toggle source
# File lib/generators/regressor/model_generator.rb, line 28 def load_ar_models if defined?(::ActiveRecord::Base) ActiveRecord::Base.descendants.map(&:name).reject { |x| Regressor.configuration.excluded_models.include? x } else [] end end
save_generate(model) { || ... }
click to toggle source
# File lib/generators/regressor/model_generator.rb, line 36 def save_generate(model) begin yield rescue => e puts "Cannot create model regression for #{model}. Reason #{e.message}" end end