Module: Positioned::ClassMethods

Defined in:
lib/positioned.rb

Instance Method Summary collapse

Instance Method Details

#position_columnObject



27
28
29
# File 'lib/positioned.rb', line 27

def position_column
  @position_column || nil
end

#position_scopeObject



30
31
32
# File 'lib/positioned.rb', line 30

def position_scope
  @position_scope || nil
end

#positioned(options = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/positioned.rb', line 15

def positioned(options = {})
  options = {:position_column => 'position', :scope_conditions => nil}.update(options)
  
  @position_column  = options[:position_column]
  
  # position scope is to limit the position to certain conditions
  @position_scope   = options[:scope_conditions]  
  include InstanceMethods
            
  before_create :set_position
end

#sortedObject



34
35
36
# File 'lib/positioned.rb', line 34

def sorted
  order("#{self.position_column}")
end