Sha256: 46d3cc78676eb2ce4043c2e769db7eec5a96d8045e1bc57435894ac2030688fb

Contents?: true

Size: 974 Bytes

Versions: 1

Compression:

Stored size: 974 Bytes

Contents

# frozen_string_literal: true

# == Schema Information
#
# Table name: widgets
#
#  id                      :integer          not null, primary key
#  link_url                :string(255)
#  widget_position_type_id :integer          default(1)
#  widget_type_id          :integer          default(1)
#  sort_order              :integer          default(1)
#  structure_id            :integer
#  counter                 :integer          default(1)
#  created_at              :datetime
#  updated_at              :datetime
#  title_translations      :hstore           default({})
#

class Widget < ActiveRecord::Base
  validates :structure_id, presence: true
  validates :structure_id, uniqueness: { scope: [:widget_position_type_id, :widget_type_id] }

  enumerated_attribute :widget_type

  translates :title

  scope :sorted, -> { order("#{quoted_table_name}.sort_order") }

  def render_title
    @render_title ||= title.presence || widget_type.title.html_safe
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
translation_cms-0.1.5 app/models/widget.rb