summaryrefslogtreecommitdiff
path: root/app/models/menu_item.rb
blob: b8df9ddb8633ccd91c4a6d67fab6f4b83f7bc498 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class MenuItem < ApplicationRecord
 
  default_scope -> { where(:type => "MenuItem") }
  
  translates    :title
  validates     :title, presence: true
  
  acts_as_list  :scope => :type
  
  before_save   :determine_type_id
  
  def titles=(values)
    values.each do |locale, value|
      Globalize.with_locale(locale) { self.title = value.to_s.strip.presence }
    end
  end
  
  private
  
    def determine_type_id
      case self.class.name
        
      when "MenuItem"
        self.type_id = 1
      when "FeaturedArticle"
        self.type_id = 2
      end
    end
end


class FeaturedArticle < MenuItem
  default_scope -> { where(:type => "FeaturedArticle") }
end