Class: Hoardable::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Hoardable::InstallGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/hoardable/install_generator.rb
Overview
Generates an initializer file for Hoardable configuration and a migration with a PostgreSQL function.
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.next_migration_number(dir) ⇒ Object
46 47 48 |
# File 'lib/generators/hoardable/install_generator.rb', line 46 def self.next_migration_number(dir) ::ActiveRecord::Generators::Base.next_migration_number(dir) end |
Instance Method Details
#create_functions ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/generators/hoardable/install_generator.rb', line 26 def create_functions Dir .glob(File.join(__dir__, "install_functions", "*.sql")) .each do |file_path| file_name = file_path.match(%r{([^/]+)\.sql})[1] template file_path, "db/functions/#{file_name}_v01.sql" end end |
#create_initializer_file ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/generators/hoardable/install_generator.rb', line 12 def create_initializer_file create_file("config/initializers/hoardable.rb", <<~TEXT) # Hoardable configuration defaults are below. Learn more at https://github.com/waymondo/hoardable#configuration # # Hoardable.enabled = true # Hoardable.version_updates = true # Hoardable.save_trash = true TEXT end |
#create_migration_file ⇒ Object
22 23 24 |
# File 'lib/generators/hoardable/install_generator.rb', line 22 def create_migration_file migration_template "install.rb.erb", "db/migrate/install_hoardable.rb" end |