Class: Shiboru::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/shiboru/install/install_generator.rb

Overview

Usage:

rails g shiboru:install
rails g shiboru:install --pgtrgm

Creates:

config/initializers/shiboru.rb
app/filters/.keep

Optionally:

db/migrate/<timestamp>_enable_pg_trgm_extension.rb  (when --pgtrgm)

Instance Method Summary collapse

Instance Method Details

#create_initializerObject



22
23
24
# File 'lib/generators/shiboru/install/install_generator.rb', line 22

def create_initializer
  template "initializer.rb.tt", "config/initializers/shiboru.rb"
end

#create_pg_trgm_migrationObject



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/generators/shiboru/install/install_generator.rb', line 31

def create_pg_trgm_migration
  return unless options[:pgtrgm]

  unless defined?(ActiveRecord::Base)
    say_status :warn, "ActiveRecord not found; skipping pg_trgm migration", :yellow
    return
  end

  unless ActiveRecord::Base.connection.adapter_name.match?(/postg/i)
    say_status :warn, "Non-Postgres adapter detected; skipping pg_trgm migration", :yellow
    return
  end

  migration_template "enable_pg_trgm.rb.tt", "db/migrate/#{timestamp}_enable_pg_trgm_extension.rb"
end

#ensure_filters_dirObject



26
27
28
29
# File 'lib/generators/shiboru/install/install_generator.rb', line 26

def ensure_filters_dir
  empty_directory "app/filters"
  create_file "app/filters/.keep" unless File.exist?("app/filters/.keep")
end