Sha256: 71b5fe113fc733d1474f82e1f63f6040ba693158ecb9f2708a015d7fbea28a59

Contents?: true

Size: 1.11 KB

Versions: 2

Compression:

Stored size: 1.11 KB

Contents

# -*- encoding : utf-8 -*-
require 'rails/generators/active_record'

class CardMigrationGenerator < ActiveRecord::Generators::Base
  source_root File.expand_path('../templates', __FILE__)
  
  class_option 'core', :type => :boolean, aliases: '-c', :default => false, :group => :runtime, 
    desc: "Create card migration for wagn core"

  def create_migration_file
    root = options['core'] ? Wagn::CoreMigration.paths.first : Wagn::Migration.paths.first
    set_local_assigns!
    migration_template @migration_template, File.join( root, "#{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'] ? 'Wagn::CoreMigration' : 'Wagn::Migration'
    case file_name
    when /^(import)_(.*)(?:\.json)?/
      @migration_action = $1
      @json_filename    = "#{$2}.json"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
wagn-1.14.9 lib/card/generators/card_migration/card_migration_generator.rb
wagn-1.14.8 lib/card/generators/card_migration/card_migration_generator.rb