Sha256: 571502f4e15bd352d5e7e1c5072c2570faabcac8fd1436280d75a3669fe62fd7

Contents?: true

Size: 959 Bytes

Versions: 1

Compression:

Stored size: 959 Bytes

Contents

# frozen_string_literal: true

require 'rails/generators'
require 'rails/generators/migration'

class SandboxyGenerator < Rails::Generators::Base
  include Rails::Generators::Migration

  source_root File.join File.dirname(__FILE__), 'templates'
  desc 'Install sandboxy'

  def self.next_migration_number(dirname)
    if ActiveRecord::Base.timestamped_migrations
      Time.now.utc.strftime('%Y%m%d%H%M%S')
    else
      format('%<migration_number>.3d',
             migration_number: current_migration_number(dirname) + 1)
    end
  end

  def create_initializer
    template 'initializer.rb', 'config/initializers/sandboxy.rb'
  end

  def create_migration_file
    migration_template 'migration.rb.erb', 'db/migrate/sandboxy_migration.rb',
                       migration_version: migration_version
  end

  private

  def migration_version
    return unless Rails.version >= '5.0.0'

    "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sandboxy-3.0.2 lib/generators/sandboxy_generator.rb