Class: ActiveConformity::Generators::Install
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- ActiveConformity::Generators::Install
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/active_conformity/install/install_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #conformity_set_type ⇒ Object
- #create_custom_methods_module_file ⇒ Object
- #database_adapters ⇒ Object
- #generate_migration ⇒ Object
- #migration_class_name ⇒ Object
- #migration_file_name ⇒ Object
- #migration_name ⇒ Object
Class Method Details
.next_migration_number(path) ⇒ Object
14 15 16 |
# File 'lib/generators/active_conformity/install/install_generator.rb', line 14 def self.next_migration_number(path) @migration_number = Time.now.strftime("%Y%m%d%H%M%S") end |
.source_root ⇒ Object
10 11 12 |
# File 'lib/generators/active_conformity/install/install_generator.rb', line 10 def self.source_root @source_root ||= File.('../templates', __FILE__) end |
Instance Method Details
#conformity_set_type ⇒ Object
34 35 36 |
# File 'lib/generators/active_conformity/install/install_generator.rb', line 34 def conformity_set_type database_adapters.fetch(ActiveRecord::Base.connection.adapter_name, 'json') end |
#create_custom_methods_module_file ⇒ Object
45 46 47 |
# File 'lib/generators/active_conformity/install/install_generator.rb', line 45 def create_custom_methods_module_file template "active_conformity_custom_validation_methods.rb.erb", "lib/active_conformity_custom_validation_methods.rb" end |
#database_adapters ⇒ Object
38 39 40 41 42 43 |
# File 'lib/generators/active_conformity/install/install_generator.rb', line 38 def database_adapters { 'MySQL' => 'json', 'PostgreSQL' => 'json' # This can be jsonb for 9.4 and above } end |
#generate_migration ⇒ Object
18 19 20 |
# File 'lib/generators/active_conformity/install/install_generator.rb', line 18 def generate_migration migration_template "active_conformity_migration.rb.erb", "db/migrate/#{migration_file_name}" end |
#migration_class_name ⇒ Object
26 27 28 |
# File 'lib/generators/active_conformity/install/install_generator.rb', line 26 def migration_class_name migration_name.camelize end |
#migration_file_name ⇒ Object
30 31 32 |
# File 'lib/generators/active_conformity/install/install_generator.rb', line 30 def migration_file_name "#{migration_name}.rb" end |
#migration_name ⇒ Object
22 23 24 |
# File 'lib/generators/active_conformity/install/install_generator.rb', line 22 def migration_name "create_conformables" end |