Sha256: be85a38ac6274d546adfb6d6039f18d270d3e4a134c2f7d445aa8d9e404cfe52

Contents?: true

Size: 1.53 KB

Versions: 16

Compression:

Stored size: 1.53 KB

Contents

# -*- encoding : utf-8 -*-

module Cardio
  module Generators
    # generate structure and card migrations
    class MigrationGenerator < Base
      source_root File.expand_path("templates", __dir__)

      # class_option "mod", aliases: "-m", group: :runtime, desc: "mod"

      class_option "core", type: :boolean, aliases: "-c",
                           default: false, group: :runtime,
                           desc: "Create card migration for card core"

      def create_migration_file
        migration_type = options["core"] ? :core_cards : :deck_cards
        mig_paths = Schema.migration_paths migration_type
        raise "No migration directory for #{migration_type}" if mig_paths.blank?

        set_local_assigns!
        migration_template @migration_template,
                           File.join(mig_paths.first, "#{file_name}.rb")
      end

      protected

      # sets the default migration template that is being used for the
      # generation of the migration
      # depending on the arguments which would be sent out in the command line,
      # the migration template
      # and the table name instance variables are setup.

      def set_local_assigns!
        @migration_template = "card_migration.erb"
        @migration_parent_class =
          options["core"] ? "Cardio::Migration::Core" : "Cardio::Migration"
        case file_name
        when /^(import)_(.*)(?:\.json)?/
          @migration_action = Regexp.last_match(1)
          @json_filename    = "#{Regexp.last_match(2)}.json"
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
card-1.105.6 lib/generators/migration/migration_generator.rb
card-1.105.5 lib/generators/migration/migration_generator.rb
card-1.105.4 lib/generators/migration/migration_generator.rb
card-1.105.3 lib/generators/migration/migration_generator.rb
card-1.105.2.pre1 lib/generators/migration/migration_generator.rb
card-1.105.2 lib/generators/migration/migration_generator.rb
card-1.105.1 lib/generators/migration/migration_generator.rb
card-1.105.0 lib/generators/migration/migration_generator.rb
card-1.104.2 lib/generators/migration/migration_generator.rb
card-1.104.1 lib/generators/migration/migration_generator.rb
card-1.104.0 lib/generators/migration/migration_generator.rb
card-1.103.4 lib/generators/migration/migration_generator.rb
card-1.103.3 lib/generators/migration/migration_generator.rb
card-1.103.2 lib/generators/migration/migration_generator.rb
card-1.103.1 lib/generators/migration/migration_generator.rb
card-1.103.0 lib/generators/migration/migration_generator.rb