class ShouldaMatchmakers::ControllerMatcherGenerator
Public Instance Methods
create_controller_matchmakers()
click to toggle source
# File lib/generators/shoulda_matchmakers/controller_matcher_generator.rb, line 53 def create_controller_matchmakers puts "\n" generator_options = options.to_hash working_generated_code_line_length = ShouldaMatchmakers.configuration.preferred_generated_code_line_length - 6 SpinToWin.with_spinner('ShouldaMatchmakers:ControllerMatchers') do |spinner| spinner.banner('initializing...') load_application @app_action_controller_descendants_names = get_app_action_controller_descendants_names end puts "\n" generate_action_controller_controller_matchmakers(generator_options, @app_action_controller_descendants_names, working_generated_code_line_length) end
Private Instance Methods
generate_action_controller_controller_matchmakers(generator_options, app_action_controller_descendants_names, code_line_length)
click to toggle source
# File lib/generators/shoulda_matchmakers/controller_matcher_generator.rb, line 69 def generate_action_controller_controller_matchmakers(generator_options, app_action_controller_descendants_names, code_line_length) if app_action_controller_descendants_names.present? selected_app_action_controller_descendants_names = filter_app_action_controller_descendants_names(app_action_controller_descendants_names, generator_options) selected_app_action_controller_descendants_names.each do |app_controller_name| save_generate(app_controller_name) do @action_controller_controller_sm_model = ::ShouldaMatchmakers::Controller::ActionController::ActionControllerControllerSmModel.new(app_controller_name, app_action_controller_descendants_names, code_line_length) template_filename = File.expand_path('../../templates/controller/action_controller/controller_spec_template.haml', File.dirname(__FILE__)) template = File.read(template_filename) create_file "#{ ShouldaMatchmakers.configuration.action_controller_controller_tests_path }/#{ app_controller_name.underscore }_spec.rb", Haml::Engine.new(template, filename: template_filename, format: :html5).to_html(binding) end end end end