mirror of
https://github.com/plashchynski/crono.git
synced 2026-03-31 14:43:30 +02:00
40 lines
1.0 KiB
Ruby
40 lines
1.0 KiB
Ruby
require 'rails/generators'
|
|
require 'rails/generators/migration'
|
|
require 'rails/generators/active_record'
|
|
|
|
module Crono
|
|
module Generators
|
|
# rails generate crono:install
|
|
class InstallGenerator < ::Rails::Generators::Base
|
|
include Rails::Generators::Migration
|
|
|
|
def self.next_migration_number(path)
|
|
ActiveRecord::Generators::Base.next_migration_number(path)
|
|
end
|
|
|
|
desc 'Installs crono and generates the necessary configuration files'
|
|
source_root File.expand_path('../templates', __FILE__)
|
|
|
|
def copy_config
|
|
template 'cronotab.rb.erb', 'config/cronotab.rb'
|
|
end
|
|
|
|
def create_migrations
|
|
migration_template 'migrations/create_crono_jobs.rb',
|
|
'db/migrate/create_crono_jobs.rb',
|
|
migration_version: migration_version
|
|
end
|
|
|
|
def rails5?
|
|
Rails.version.start_with? '5'
|
|
end
|
|
|
|
def migration_version
|
|
if rails5?
|
|
"[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|