Module: CoreExtensions::ActiveRecord::Sort

Defined in:
lib/core_extensions/active_record/sort.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



13
14
15
16
17
# File 'lib/core_extensions/active_record/sort.rb', line 13

def self.included(base)
  base.extend ClassMethods

  base.before_create :set_position
end

Instance Method Details

#set_positionObject



27
28
29
30
31
# File 'lib/core_extensions/active_record/sort.rb', line 27

def set_position
  return unless respond_to?(:position)

  self.position = (self.class.where("position < 99999").maximum(:position) || 0) + 1
end