class RailsRbs::Generators::RailsRbsGenerator
Public Instance Methods
add_rbs_routes()
click to toggle source
# File lib/generators/rails_rbs/rails_rbs_generator.rb, line 51 def add_rbs_routes return if options.skip_routes %i[equality date_time location].each do |rule_name| new_route = "resources :#{rule_name}_rules, controller: 'rails_rbs/rules', only: [:create, :update, :show, :destroy]" new_route = new_route + ' skip: :all' if options.skip_defaults route new_route end route 'resources :rules, controller: "rails_rbs/rules", only: [:index, :create, :update, :show, :destroy]' route 'resources :rule_sets, controller: "rails_rbs/rule_sets", only: [:index, :create, :update, :show, :destroy]' route "# RBS Generated routes" end
copy_migrations()
click to toggle source
# File lib/generators/rails_rbs/rails_rbs_generator.rb, line 23 def copy_migrations return if rule_migrations_exist? migration_template 'rule_migration.rb', "#{migration_path}/add_rules.rb" migration_template 'rule_set_migration.rb', "#{migration_path}/add_rule_sets.rb" migration_template 'rule_action_migration.rb', "#{migration_path}/add_rule_actions.rb" end
generate_default_rule_models()
click to toggle source
# File lib/generators/rails_rbs/rails_rbs_generator.rb, line 45 def generate_default_rule_models generate 'rails_rbs:rule equality' unless model_exists?(name: 'equality_rule') generate 'rails_rbs:rule date_range' unless model_exists?(name: 'date_range_rule') generate 'rails_rbs:rule location' unless model_exists?(name: 'location_rule') end
generate_initializer()
click to toggle source
# File lib/generators/rails_rbs/rails_rbs_generator.rb, line 63 def generate_initializer template "initializer.rb", "config/initializers/rails_rbs.rb" end
generate_models()
click to toggle source
# File lib/generators/rails_rbs/rails_rbs_generator.rb, line 30 def generate_models generate "active_record:model rule --no-migration" unless model_exists?(name: 'rule') generate "active_record:model rule_set --no-migration" unless model_exists?(name: 'rule_set') generate "active_record:model rule_action --no-migration" unless model_exists?(name: 'rule_action') end
inject_model_content()
click to toggle source
# File lib/generators/rails_rbs/rails_rbs_generator.rb, line 36 def inject_model_content inject_into_class(model_path(name: 'rule'), 'Rule', rule_model_content) inject_into_class(model_path(name: 'rule_set'), 'RuleSet', rule_set_model_content) inject_into_class(model_path(name: 'rule_action'), 'RuleAction', rule_action_model_content) if options.owned_by && model_exists?(name: options.owned_by) inject_into_class(model_path(name: options.owned_by), options.owned_by.to_s.camelcase, owner_model_content) end end
Private Instance Methods
owner_model_content()
click to toggle source
# File lib/generators/rails_rbs/rails_rbs_generator.rb, line 80 def owner_model_content <<-CONTENT # RailsRbs rule associations has_many :rules, dependent: :destroy has_many :rule_sets, dependent: :destroy CONTENT end
rule_action_model_content()
click to toggle source
# File lib/generators/rails_rbs/rails_rbs_generator.rb, line 88 def rule_action_model_content <<-CONTENT include RailsRbs::RunsAction CONTENT end
rule_model_content()
click to toggle source
# File lib/generators/rails_rbs/rails_rbs_generator.rb, line 68 def rule_model_content <<-CONTENT include RailsRbs::FollowsRule CONTENT end
rule_set_model_content()
click to toggle source
# File lib/generators/rails_rbs/rails_rbs_generator.rb, line 74 def rule_set_model_content <<-CONTENT include RailsRbs::FollowsRuleSet CONTENT end