Sha256: 26ff2b7aea92072b74f68f3016172963cd0152b4ffc7c6ab6520b57b4e696f25

Contents?: true

Size: 1.64 KB

Versions: 8

Compression:

Stored size: 1.64 KB

Contents

require 'rails'
require 'rails/generators'
require 'rails/generators/active_record'

module ActiveRecord
  module Generators
    class MlangMigrationGenerator < Base
      source_root File.expand_path("../templates", __FILE__)
      argument :name, :type => :string, :default => "create_langs_table"

      def self.task_create
        raise 'Task unavailable to this database (no migration support)' unless ActiveRecord::Base.connection.supports_migrations?
        Rails.application.load_generators if Rails.application
        ActiveRecord::Generators::MlangMigrationGenerator.start [ ENV['MIGRATION'] || 'create_langs_table' ]
      end

      def self.task_clear
        ActiveRecord::Base.connection.execute "DELETE FROM #{ActiveRecord::Mlang::Lang.table_name};"
        ActiveRecord::Base.connection.execute "DELETE FROM #{ActiveRecord::Mlang::LangText.table_name};"
      end

      def create_migration_file
        migration_template "migration.rb", "db/migrate/#{file_name}.rb"
      end

      protected

      def lang_table_name
        current_table_name = ActiveRecord::Mlang::Lang.table_name
        if current_table_name == 'lang' || current_table_name == 'langs'
          current_table_name = ActiveRecord::Base.pluralize_table_names ? 'langs' : 'lang'
        end
        current_table_name
      end

      def lang_text_table_name
        current_table_name = ActiveRecord::Mlang::LangText.table_name
        if current_table_name == 'lang_text' || current_table_name == 'lang_texts'
          current_table_name = ActiveRecord::Base.pluralize_table_names ? 'lang_texts' : 'lang_text'
        end
        current_table_name
      end

    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
activerecord-mlang-0.0.9 lib/generators/active_record/mlang_migration_generator.rb
activerecord-mlang-0.0.8 lib/generators/active_record/mlang_migration_generator.rb
activerecord-mlang-0.0.7 lib/generators/active_record/mlang_migration_generator.rb
activerecord-mlang-0.0.6 lib/generators/active_record/mlang_migration_generator.rb
activerecord-mlang-0.0.5 lib/generators/active_record/mlang_migration_generator.rb
activerecord-mlang-0.0.4 lib/generators/active_record/mlang_migration_generator.rb
activerecord-mlang-0.0.3 lib/generators/active_record/mlang_migration_generator.rb
activerecord-mlang-0.0.2 lib/generators/active_record/mlang_migration_generator.rb