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