Class: FavouriteObject::InstallGenerator

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object

This is defined in ActiveRecord::Generators::Base, but that inherits from NamedBase, so it expects a name argument which we don’t want here. So we redefine it here. Yuck.



33
34
35
36
# File 'lib/generators/favourite_object/install/install_generator.rb', line 33

def self.next_migration_number(dirname)
  next_migration_number = current_migration_number(dirname) + 1
  ActiveRecord::Migration.next_migration_number(next_migration_number)
end

Instance Method Details

#append_javascriptObject



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

def append_javascript
  insert_into_file "app/assets/javascripts/application.js", :after => %r{//= require +['"]?jquery['"]?} do
    "\n//= require 'favourite_object/favourites'\n\n"
  end
end

#append_stylesheetObject



19
20
21
22
23
# File 'lib/generators/favourite_object/install/install_generator.rb', line 19

def append_stylesheet
  insert_into_file "app/assets/stylesheets/application.css", :before => "*/" do
    "\n *= require 'favourite_object/stylesheet'\n\n"
  end
end

#copy_initializerObject



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

def copy_initializer
  template "initializer.rb", "config/initializers/favourite_object.rb"
end

#copy_migrationsObject



8
9
10
11
12
13
# File 'lib/generators/favourite_object/install/install_generator.rb', line 8

def copy_migrations
  copy_migration "create_favourite_object_favourites"

  puts "Installation successful. You can now run:"
  puts "rake db:migrate"
end