This rule was added in rubocop-rails 2.25.0. Applying it allows us to simplify the code a little bit. For example, now there's no need to specify the `proposals` table in proposal scopes, which was actually causing a bug in the `Legislation::Proposal` model, which was using the `proposals` table instead of the `legislation_proposals` table (but, since we don't use this scope, it didn't affect the application).
24 lines
738 B
Ruby
24 lines
738 B
Ruby
class Milestone < ApplicationRecord
|
|
include Imageable
|
|
include Documentable
|
|
|
|
translates :title, :description, touch: true
|
|
include Globalizable
|
|
translation_class_delegate :status_id
|
|
|
|
belongs_to :milestoneable, polymorphic: true
|
|
belongs_to :status
|
|
|
|
validates :milestoneable, presence: true
|
|
validates :publication_date, presence: true
|
|
validates_translation :description, presence: true, unless: -> { status_id.present? }
|
|
|
|
scope :order_by_publication_date, -> { order(publication_date: :asc, created_at: :asc) }
|
|
scope :published, -> { where(publication_date: ..Date.current.end_of_day) }
|
|
scope :with_status, -> { where.not(status_id: nil) }
|
|
|
|
def self.title_max_length
|
|
80
|
|
end
|
|
end
|