class ScaffoldPlus::Generators::EnumerizeGenerator

Public Instance Methods

add_migration() click to toggle source
# File lib/generators/scaffold_plus/enumerize/enumerize_generator.rb, line 25
def add_migration
  return unless options.migration?
  migration_template "enum_migration.rb", "db/migrate/#{migration_name}.rb"
end
update_controller() click to toggle source
# File lib/generators/scaffold_plus/enumerize/enumerize_generator.rb, line 40
def update_controller
  return unless options.permit?
  text = ":#{column}"
  file = "app/controllers/#{table_name}_controller.rb"
  gsub_file file, /(permit\(.*)\)/, "\\1, #{text})"
  # Special case: no previous permit
  gsub_file file, /^(\s*params)\[:#{name}\]$/, "\\1.require(:#{name}).permit(#{text})"
end
update_model() click to toggle source
# File lib/generators/scaffold_plus/enumerize/enumerize_generator.rb, line 30
def update_model
  inject_into_class "app/models/#{name}.rb", class_name do
    text = options.before? ? "\n" : ""
    text << "  extend Enumerize\n"
    text << "  enumerize :#{column}, in: #{values}\n"
    text << "\n" if options.after?
    text
  end
end

Protected Instance Methods

migration_name() click to toggle source
# File lib/generators/scaffold_plus/enumerize/enumerize_generator.rb, line 51
def migration_name
  "add_#{column}_to_#{table_name}"
end