Module: Flagable

Defined in:
app/models/flagable.rb

Defined Under Namespace

Modules: FlagableInstanceMethods

Instance Method Summary collapse

Instance Method Details

#find_all_by_flag(flag) ⇒ Object



8
9
10
# File 'app/models/flagable.rb', line 8

def find_all_by_flag( flag )
  self.joins( :flags ).where( :flags => { :key => flag } )
end

#find_by_flag(flag) ⇒ Object



12
13
14
# File 'app/models/flagable.rb', line 12

def find_by_flag( flag )
  find_all_by_flag( flag ).limit( 1 ).readonly( false ).first
end

#has_many_flagsObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'app/models/flagable.rb', line 3

def has_many_flags
  has_many :flags, :as => :flagable, :dependent => :destroy

  include FlagableInstanceMethods

  def find_all_by_flag( flag )
    self.joins( :flags ).where( :flags => { :key => flag } )
  end
  
  def find_by_flag( flag )
    find_all_by_flag( flag ).limit( 1 ).readonly( false ).first
  end

end