Class: Nivo::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/rails/generators/nivo/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object

:nodoc:



17
18
19
20
21
22
23
# File 'lib/rails/generators/nivo/install_generator.rb', line 17

def self.next_migration_number(dirname) #:nodoc:
  if ActiveRecord::Base.timestamped_migrations
    Time.now.utc.strftime("%Y%m%d%H%M%S")
  else
    "%.3d" % (current_migration_number(dirname) + 1)
  end
end

.source_rootObject



9
10
11
# File 'lib/rails/generators/nivo/install_generator.rb', line 9

def self.source_root
  File.join(File.dirname(__FILE__), 'templates')
end

Instance Method Details

#create_configObject



13
14
15
# File 'lib/rails/generators/nivo/install_generator.rb', line 13

def create_config
  copy_file "nivo_config.yml", "config/nivo_config.yml"
end

#create_migration_fileObject

Every method that is declared below will be automatically executed when the generator is run



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/rails/generators/nivo/install_generator.rb', line 27

def create_migration_file
    f = File.open File.join(File.dirname(__FILE__), 'templates', 'schema.rb')
    schema = f.read; f.close

    schema.gsub!(/ActiveRecord::Schema.*\n/, '')
    schema.gsub!(/^end\n*$/, '')

    f = File.open File.join(File.dirname(__FILE__), 'templates', 'migration.rb')
    migration = f.read; f.close
    migration.gsub!(/SCHEMA_AUTO_INSERTED_HERE/, schema)

    tmp = File.open "tmp/~migration_ready.rb", "w"
    tmp.write migration
    tmp.close

    migration_template  '../../../../tmp/~migration_ready.rb',
      'db/migrate/create_nivo_tables.rb'
    remove_file 'tmp/~migration_ready.rb'
end