class Lexoranking::Generators::InstallGenerator
Constants
- RANKING_COLUMN
Attributes
column[R]
model_name[R]
Public Class Methods
next_migration_number(path)
click to toggle source
# File lib/generators/lexoranking/install_generator.rb, line 10 def self.next_migration_number(path) next_migration_number = current_migration_number(path) + 1 ActiveRecord::Migration.next_migration_number(next_migration_number) end
Public Instance Methods
copy_migrations()
click to toggle source
# File lib/generators/lexoranking/install_generator.rb, line 19 def copy_migrations validates_ranking_column! migration_template "migration.rb", "db/migrate/add_#{column}_to_#{model_name}.rb" end
setup()
click to toggle source
# File lib/generators/lexoranking/install_generator.rb, line 15 def setup @model_name = options.model.pluralize end
Private Instance Methods
_raise_model_do_not_exists()
click to toggle source
# File lib/generators/lexoranking/install_generator.rb, line 43 def _raise_model_do_not_exists raise ::Lexoranking::ModelDoNotExists.new( "The model #{model_name.classify} do not exists", self ) end
load_ranking_column(model)
click to toggle source
# File lib/generators/lexoranking/install_generator.rb, line 39 def load_ranking_column(model) model.ranking_column if model.respond_to? :ranking_column end
model_exists!()
click to toggle source
# File lib/generators/lexoranking/install_generator.rb, line 35 def model_exists! ActiveRecord::Base.connection.tables.map(&:classify).include?(model_name.classify) end
validates_ranking_column!()
click to toggle source
# File lib/generators/lexoranking/install_generator.rb, line 29 def validates_ranking_column! model_exists! || _raise_model_do_not_exists @column = load_ranking_column(model_name.classify.constantize) || RANKING_COLUMN end