Class: Museum::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Generators::Utils, Rails::Generators::Migration
Defined in:
lib/generators/museum/install/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Generators::Utils

#ask_for, #output

Class Method Details

.next_migration_number(dirname) ⇒ Object



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

def self.next_migration_number(dirname)
  if ActiveRecord::Base.timestamped_migrations
    unless @prev_migration_nr
      @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
    else
      @prev_migration_nr += 1
    end
    @prev_migration_nr.to_s
  else
    "%.3d" % (current_migration_number(dirname) + 1)
  end
end

Instance Method Details

#add_initializerObject

all public methods in here will be run in order



14
15
16
17
# File 'lib/generators/museum/install/install_generator.rb', line 14

def add_initializer
  output "To start with, you'll need an initializer.  This is where you put your configuration options.", :magenta
  template "initializer.rb", "config/initializers/museum.rb"
end

#add_migrationsObject



19
20
21
# File 'lib/generators/museum/install/install_generator.rb', line 19

def add_migrations
  rake "museum:install:migrations"
end

#add_routeObject



27
28
29
30
31
# File 'lib/generators/museum/install/install_generator.rb', line 27

def add_route
  output "Adding Museum to your routes.rb file", :magenta
  gsub_file "config/routes.rb", /mount Museum::Engine => '\/.*', :as => 'museum'/, ''
  route("mount Museum::Engine => '/museum', :as => 'museum'")
end

#add_seedsObject



23
24
25
# File 'lib/generators/museum/install/install_generator.rb', line 23

def add_seeds
  append_file "db/seeds.rb", 'Museum::Engine.load_seed'
end

#helloObject



8
9
10
# File 'lib/generators/museum/install/install_generator.rb', line 8

def hello
  output "Museum is ready to display your gems in style.", :magenta
end