File: lib/generators/extension_migration/extension_migration_generator.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  class: ExtensionMigrationGenerator#4
inherits from
  MigrationGenerator   
has properties
attribute: extension_name [RW] #6
method: initialize / 2 #8
method: banner #14
method: extension_path #18
method: destination_root #22

Code

   1  require 'rails_generator/base'
   2  require 'rails_generator/generators/components/migration/migration_generator'
   3 
   4  class ExtensionMigrationGenerator < MigrationGenerator
   5    
   6    attr_accessor :extension_name
   7    
   8    def initialize(runtime_args, runtime_options = {})
   9      runtime_args = runtime_args.dup
  10      @extension_name = runtime_args.shift
  11      super(runtime_args, runtime_options)
  12    end
  13    
  14    def banner
  15      "Usage: #{$0} extension_migration ExtensionName MigrationName [field:type, field:type]"
  16    end
  17    
  18    def extension_path
  19      File.join('vendor', 'extensions', @extension_name.underscore)
  20    end
  21    
  22    def destination_root
  23      File.join(RAILS_ROOT, extension_path)
  24    end
  25  end