Class: Caffeinate::Generators::InstallGenerator

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

Overview

Installs Caffeinate

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(_path) ⇒ Object

:nodoc:



27
28
29
30
31
32
33
34
# File 'lib/generators/caffeinate/install_generator.rb', line 27

def self.next_migration_number(_path)
  if @prev_migration_nr
    @prev_migration_nr += 1
  else
    @prev_migration_nr = Time.now.utc.strftime('%Y%m%d%H%M%S').to_i
  end
  @prev_migration_nr.to_s
end

Instance Method Details

#copy_application_campaignObject

:nodoc:



18
19
20
# File 'lib/generators/caffeinate/install_generator.rb', line 18

def copy_application_campaign
  template 'application_dripper.rb', 'app/drippers/application_dripper.rb'
end

#copy_initializerObject

:nodoc:



13
14
15
# File 'lib/generators/caffeinate/install_generator.rb', line 13

def copy_initializer
  template 'caffeinate.rb', 'config/initializers/caffeinate.rb'
end

#copy_migrationsObject

:nodoc:



37
38
39
40
41
42
# File 'lib/generators/caffeinate/install_generator.rb', line 37

def copy_migrations
  require 'rake'
  Rails.application.load_tasks
  Rake::Task['railties:install:migrations'].reenable
  Rake::Task['caffeinate:install:migrations'].invoke
end

#install_routesObject



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

def install_routes
  inject_into_file 'config/routes.rb', "\n  mount ::Caffeinate::Engine => '/caffeinate'", after: /Rails.application.routes.draw do/
end