class SeoOptimizer::ModelsGenerator
Public Class Methods
next_migration_number(_path)
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 21 def self.next_migration_number(_path) Time.now.utc.strftime('%Y%m%d%H%M%S') end
orm()
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 13 def self.orm Rails::Generators.options[:rails][:orm] end
orm_has_migration?()
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 17 def self.orm_has_migration? [:active_record].include? orm end
Public Instance Methods
create_migration_file()
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 25 def create_migration_file return unless self.class.orm_has_migration? migration_template 'model_template.erb', "db/migrate/add_#{model_name}_seo_slug_migration.rb", migration_version: migration_version, model_name: model_name, model_table: model_table, desired_fields_reference: desired_fields_reference end
Private Instance Methods
desired_fields_reference()
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 51 def desired_fields_reference desired_fields.delete('seo_slug') desired_fields.join(', ') end
migration_version()
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 56 def migration_version if rails5? '[4.2]' elsif rails6? '[6.0]' end end
model()
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 39 def model name end
model_name()
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 43 def model_name model.downcase end
model_table()
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 47 def model_table model_name.pluralize(2) end
rails5?()
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 64 def rails5? Rails.version.start_with? '5' end
rails6?()
click to toggle source
# File lib/generators/seo_optimizer/models/models_generator.rb, line 68 def rails6? Rails.version.start_with? '6' end