Sha256: e3e97da7167af820b9bab3b9e371701708f15bf2910fc6c590af6e3a2706edb2

Contents?: true

Size: 1.37 KB

Versions: 44

Compression:

Stored size: 1.37 KB

Contents

# frozen_string_literal: true
require "rails/generators"
require "rails/generators/active_record"
require_relative "./active_record_migration_compatibility"

module Mobility
  class InstallGenerator < ::Rails::Generators::Base
    include ::Rails::Generators::Migration
    include ::Mobility::ActiveRecordMigrationCompatibility

    desc "Generates migrations to add translations tables."

    source_root File.expand_path("../templates", __FILE__)
    class_option(
      :without_tables,
      type: :boolean,
      default: false,
      desc: "Skip creating translations tables."
    )

    def create_migration_file
      add_mobility_migration("create_text_translations")   unless options.without_tables?
      add_mobility_migration("create_string_translations") unless options.without_tables?
    end

    def create_initializer
      copy_file "initializer.rb", "config/initializers/mobility.rb"
    end

    def self.next_migration_number(dirname)
      ::ActiveRecord::Generators::Base.next_migration_number(dirname)
    end

    protected

    def add_mobility_migration(template)
      migration_dir = File.expand_path("db/migrate")
      if behavior == :invoke && self.class.migration_exists?(migration_dir, template)
        ::Kernel.warn "Migration already exists: #{template}"
      else
        migration_template "#{template}.rb", "db/migrate/#{template}.rb"
      end
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
mobility-1.3.2 lib/rails/generators/mobility/install_generator.rb
mobility-1.3.1 lib/rails/generators/mobility/install_generator.rb
mobility-1.3.0 lib/rails/generators/mobility/install_generator.rb
mobility-1.3.0.rc3 lib/rails/generators/mobility/install_generator.rb
mobility-1.3.0.rc2 lib/rails/generators/mobility/install_generator.rb
mobility-1.3.0.rc1 lib/rails/generators/mobility/install_generator.rb
mobility-1.2.9 lib/rails/generators/mobility/install_generator.rb
mobility-1.2.8 lib/rails/generators/mobility/install_generator.rb
mobility-1.2.7 lib/rails/generators/mobility/install_generator.rb
mobility-1.2.6 lib/rails/generators/mobility/install_generator.rb
mobility-1.2.5 lib/rails/generators/mobility/install_generator.rb
mobility-1.2.4 lib/rails/generators/mobility/install_generator.rb
mobility-1.2.3 lib/rails/generators/mobility/install_generator.rb
mobility-1.2.2 lib/rails/generators/mobility/install_generator.rb
mobility-1.2.1 lib/rails/generators/mobility/install_generator.rb
mobility-1.2.0 lib/rails/generators/mobility/install_generator.rb
mobility-1.1.3 lib/rails/generators/mobility/install_generator.rb
mobility-1.1.2 lib/rails/generators/mobility/install_generator.rb
mobility-1.1.1 lib/rails/generators/mobility/install_generator.rb
mobility-1.1.0 lib/rails/generators/mobility/install_generator.rb