Sha256: ff441b6ee0215a83a79ffc58997a1dbe0ecc2471e9818af9b88ef3b1279d7c33

Contents?: true

Size: 988 Bytes

Versions: 1

Compression:

Stored size: 988 Bytes

Contents

# frozen_string_literal: true

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

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

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

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

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

  def create_model
    template 'model.rb', 'app/models/belonging.rb'
  end

  def show_readme
    readme 'README.md'
  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
acts_as_belongable-3.0.0 lib/generators/acts_as_belongable_generator.rb