Class: Logidze::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
FxHelper, InjectSql, Rails::Generators::Migration
Defined in:
lib/generators/logidze/install/install_generator.rb

Overview

:nodoc:

Class Method Summary collapse

Instance Method Summary collapse

Methods included from FxHelper

#fx?, included

Methods included from InjectSql

#inject_sql

Class Method Details

.next_migration_number(dir) ⇒ Object



105
106
107
# File 'lib/generators/logidze/install/install_generator.rb', line 105

def self.next_migration_number(dir)
  ::ActiveRecord::Generators::Base.next_migration_number(dir)
end

Instance Method Details

#generate_fx_functionsObject



33
34
35
36
37
38
39
40
41
# File 'lib/generators/logidze/install/install_generator.rb', line 33

def generate_fx_functions
  return unless fx?

  function_definitions.each do |fdef|
    next if fdef.version == previous_version_for(fdef.name)

    template "#{fdef.name}.sql", "db/functions/#{fdef.name}_v#{fdef.version.to_s.rjust(2, "0")}.sql"
  end
end

#generate_hstore_migrationObject



27
28
29
30
31
# File 'lib/generators/logidze/install/install_generator.rb', line 27

def generate_hstore_migration
  return if update?

  migration_template "hstore.rb.erb", "db/migrate/enable_hstore.rb"
end

#generate_migrationObject



22
23
24
25
# File 'lib/generators/logidze/install/install_generator.rb', line 22

def generate_migration
  migration_template = fx? ? "migration_fx.rb.erb" : "migration.rb.erb"
  migration_template migration_template, "db/migrate/#{migration_name}.rb"
end