File: friendly_id_generator.rb

package info (click to toggle)
ruby-friendly-id 5.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 432 kB
  • sloc: ruby: 3,143; makefile: 3
file content (26 lines) | stat: -rw-r--r-- 1,096 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
require "rails/generators"
require "rails/generators/active_record"

# This generator adds a migration for the {FriendlyId::History
# FriendlyId::History} addon.
class FriendlyIdGenerator < ActiveRecord::Generators::Base
  # ActiveRecord::Generators::Base inherits from Rails::Generators::NamedBase which requires a NAME parameter for the
  # new table name. Our generator always uses 'friendly_id_slugs', so we just set a random name here.
  argument :name, type: :string, default: "random_name"

  class_option :'skip-migration', type: :boolean, desc: "Don't generate a migration for the slugs table"
  class_option :'skip-initializer', type: :boolean, desc: "Don't generate an initializer"

  source_root File.expand_path("../../friendly_id", __FILE__)

  # Copies the migration template to db/migrate.
  def copy_files
    return if options["skip-migration"]
    migration_template "migration.rb", "db/migrate/create_friendly_id_slugs.rb"
  end

  def create_initializer
    return if options["skip-initializer"]
    copy_file "initializer.rb", "config/initializers/friendly_id.rb"
  end
end