# == Schema Information # # Table name: themes # # id :integer not null, primary key # description :text # locale :string # title :string # created_at :datetime not null # updated_at :datetime not null # class Theme < ActiveRecord::Base include ValidationMessages # ================ # = Associations = # ================ has_and_belongs_to_many :questions, join_table: "questions_themes" has_and_belongs_to_many :guidances, join_table: "themes_in_guidance" # =============== # = Validations = # =============== validates :title, presence: { message: PRESENCE_MESSAGE } # ========== # = Scopes = # ========== scope :search, -> (term) { search_pattern = "%#{term}%" where("title LIKE ? OR description LIKE ?", search_pattern, search_pattern) } # =========================== # = Public instance methods = # =========================== ## # returns the title of the theme # # @return [String] title of the theme def to_s title end end