Module: ShouldaMatchmakers::Generator::ActionController::ControllerMatcherGeneratorHelper
- Included in:
- ControllerMatcherGenerator
- Defined in:
- lib/generators/shoulda_matchmakers/controller_matcher_generator_helper.rb
Instance Method Summary collapse
- #filter_action_controller_controller_names_with_config_options(app_action_controller_descendants_names) ⇒ Object
- #filter_action_controller_controller_names_with_exclude_option(app_action_controller_descendants_names, exclude_option_action_controller_controller_names) ⇒ Object
- #filter_action_controller_controller_names_with_generator_exclude_and_config_options(app_action_controller_descendants_names, generator_exclude_and_config_options_action_controller_controller_names) ⇒ Object
- #filter_action_controller_controller_names_with_generator_include_and_config_options(app_action_controller_descendants_names, generator_include_and_config_options_action_controller_controller_names) ⇒ Object
- #filter_action_controller_controller_names_with_include_option(app_action_controller_descendants_names, include_option_action_controller_controller_names) ⇒ Object
- #filter_app_action_controller_descendants_names(app_action_controller_descendants_names, generator_options) ⇒ Object
- #get_app_action_controller_descendants_names ⇒ Object
- #load_application ⇒ Object
- #save_generate(controller_name) ⇒ Object
Instance Method Details
#filter_action_controller_controller_names_with_config_options(app_action_controller_descendants_names) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/generators/shoulda_matchmakers/controller_matcher_generator_helper.rb', line 77 def (app_action_controller_descendants_names) config_included_option_action_controller_controller_names = ShouldaMatchmakers.configuration.action_controller_controller_names_included config_excluded_option_action_controller_controller_names = ShouldaMatchmakers.configuration.action_controller_controller_names_excluded if config_included_option_action_controller_controller_names.present? filter_action_controller_controller_names_with_include_option(app_action_controller_descendants_names, config_included_option_action_controller_controller_names).uniq.sort elsif config_excluded_option_action_controller_controller_names.present? filter_action_controller_controller_names_with_exclude_option(app_action_controller_descendants_names, config_excluded_option_action_controller_controller_names).uniq.sort else [] end end |
#filter_action_controller_controller_names_with_exclude_option(app_action_controller_descendants_names, exclude_option_action_controller_controller_names) ⇒ Object
54 55 56 |
# File 'lib/generators/shoulda_matchmakers/controller_matcher_generator_helper.rb', line 54 def filter_action_controller_controller_names_with_exclude_option(app_action_controller_descendants_names, exclude_option_action_controller_controller_names) app_action_controller_descendants_names.map.reject { |app_controller_name| exclude_option_action_controller_controller_names.include? app_controller_name }.uniq.sort end |
#filter_action_controller_controller_names_with_generator_exclude_and_config_options(app_action_controller_descendants_names, generator_exclude_and_config_options_action_controller_controller_names) ⇒ Object
68 69 70 71 72 73 74 75 |
# File 'lib/generators/shoulda_matchmakers/controller_matcher_generator_helper.rb', line 68 def (app_action_controller_descendants_names, ) selected_action_controller_controller_names = (app_action_controller_descendants_names) if selected_action_controller_controller_names.present? filter_action_controller_controller_names_with_exclude_option(selected_action_controller_controller_names, ).uniq.sort else filter_action_controller_controller_names_with_exclude_option(app_action_controller_descendants_names, ).uniq.sort end end |
#filter_action_controller_controller_names_with_generator_include_and_config_options(app_action_controller_descendants_names, generator_include_and_config_options_action_controller_controller_names) ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/generators/shoulda_matchmakers/controller_matcher_generator_helper.rb', line 58 def (app_action_controller_descendants_names, ) selected_app_action_controller_descendants_names = (app_action_controller_descendants_names) if selected_app_action_controller_descendants_names.present? selected_app_action_controller_descendants_names + filter_action_controller_controller_names_with_include_option(app_action_controller_descendants_names, ).uniq.sort else filter_action_controller_controller_names_with_include_option(app_action_controller_descendants_names, ).uniq.sort end end |
#filter_action_controller_controller_names_with_include_option(app_action_controller_descendants_names, include_option_action_controller_controller_names) ⇒ Object
50 51 52 |
# File 'lib/generators/shoulda_matchmakers/controller_matcher_generator_helper.rb', line 50 def filter_action_controller_controller_names_with_include_option(app_action_controller_descendants_names, include_option_action_controller_controller_names) app_action_controller_descendants_names.map.select { |app_controller_name| include_option_action_controller_controller_names.include? app_controller_name }.uniq.sort end |
#filter_app_action_controller_descendants_names(app_action_controller_descendants_names, generator_options) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/generators/shoulda_matchmakers/controller_matcher_generator_helper.rb', line 26 def filter_app_action_controller_descendants_names(app_action_controller_descendants_names, ) generator_include_option_action_controller_controller_names = .fetch('include') generator_exclude_option_action_controller_controller_names = .fetch('exclude') = .fetch('include_and_config') = .fetch('exclude_and_config') if generator_include_option_action_controller_controller_names.present? filter_action_controller_controller_names_with_include_option(app_action_controller_descendants_names, generator_include_option_action_controller_controller_names) elsif generator_exclude_option_action_controller_controller_names.present? filter_action_controller_controller_names_with_exclude_option(app_action_controller_descendants_names, generator_exclude_option_action_controller_controller_names) elsif .present? (app_action_controller_descendants_names, ) elsif .present? (app_action_controller_descendants_names, ) else selected_app_action_controller_descendants_names = (app_action_controller_descendants_names) if selected_app_action_controller_descendants_names.present? selected_app_action_controller_descendants_names else app_action_controller_descendants_names.uniq.sort end end end |
#get_app_action_controller_descendants_names ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/generators/shoulda_matchmakers/controller_matcher_generator_helper.rb', line 10 def get_app_action_controller_descendants_names if defined?(::ActionController::Base) ::ActionController::Base.descendants.map(&:name) else [] end end |
#load_application ⇒ Object
6 7 8 |
# File 'lib/generators/shoulda_matchmakers/controller_matcher_generator_helper.rb', line 6 def load_application Rails.application.try(:eager_load!) end |
#save_generate(controller_name) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/generators/shoulda_matchmakers/controller_matcher_generator_helper.rb', line 18 def save_generate(controller_name) begin yield rescue => e puts "Cannot create controller spec for #{ controller_name }. Reason #{ e. }" end end |