Class: Athar::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Athar::Generators::InstallGenerator
show all
- Includes:
- FxHelper, Rails::Generators::Migration
- Defined in:
- lib/generators/athar/install/install_generator.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from FxHelper
#athar_foreign_key_type, #athar_primary_key_type, #ensure_raw_sql_supported!, #fx?, included, #indent_sql, #primary_key_setting, #schema_format
Class Method Details
.next_migration_number(dir) ⇒ Object
111
112
113
|
# File 'lib/generators/athar/install/install_generator.rb', line 111
def self.next_migration_number(dir)
::ActiveRecord::Generators::Base.next_migration_number(dir)
end
|
Instance Method Details
#generate_migration ⇒ Object
37
38
39
40
|
# File 'lib/generators/athar/install/install_generator.rb', line 37
def generate_migration
template = fx? ? "install_migration_fx.rb.erb" : "install_migration.rb.erb"
migration_template template, "db/migrate/#{migration_filename}.rb"
end
|
#validate_options! ⇒ Object
21
22
23
|
# File 'lib/generators/athar/install/install_generator.rb', line 21
def validate_options!
ensure_raw_sql_supported! unless fx?
end
|
#write_function_files ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/generators/athar/install/install_generator.rb', line 25
def write_function_files
return unless fx?
FileUtils.mkdir_p(functions_destination)
function_definitions.each do |function_definition|
path = File.join(functions_destination, "#{function_definition[:versioned_basename]}.sql")
next if File.exist?(path) && File.read(path) == function_definition[:body]
File.write(path, function_definition[:body])
end
end
|