This rule was added in rubocop 1.79. We were inconsistent about it, so we're adding it to get more consistency.
34 lines
805 B
Ruby
34 lines
805 B
Ruby
class Widget::Card < ApplicationRecord
|
|
include Imageable
|
|
|
|
belongs_to :cardable, polymorphic: true
|
|
|
|
translates :label, touch: true
|
|
translates :title, touch: true
|
|
translates :description, touch: true
|
|
translates :link_text, touch: true
|
|
include Globalizable
|
|
|
|
validates_translation :title, presence: true
|
|
validates :link_url, presence: true, if: -> { !header? || link_text.present? }
|
|
validates :order, numericality: { greater_than_or_equal_to: 1 }
|
|
|
|
scope :sort_by_order, -> { order(:order, :created_at) }
|
|
|
|
def self.header
|
|
where(header: true)
|
|
end
|
|
|
|
def self.body
|
|
where(header: false, cardable_id: nil).sort_by_order
|
|
end
|
|
|
|
def header_or_sdg_header?
|
|
header? || sdg_header?
|
|
end
|
|
|
|
def sdg_header?
|
|
cardable == WebSection.find_by!(name: "sdg")
|
|
end
|
|
end
|