We were very inconsistent regarding these rules. Personally I prefer no empty lines around blocks, clases, etc... as recommended by the Ruby style guide [1], and they're the default values in rubocop, so those are the settings I'm applying. The exception is the `private` access modifier, since we were leaving empty lines around it most of the time. That's the default rubocop rule as well. Personally I don't have a strong preference about this one. [1] https://rubystyle.guide/#empty-lines-around-bodies
25 lines
882 B
Ruby
25 lines
882 B
Ruby
class Banner < ApplicationRecord
|
|
acts_as_paranoid column: :hidden_at
|
|
include ActsAsParanoidAliases
|
|
|
|
translates :title, touch: true
|
|
translates :description, touch: true
|
|
include Globalizable
|
|
|
|
validates_translation :title, presence: true, length: { minimum: 2 }
|
|
validates_translation :description, presence: true
|
|
|
|
validates :target_url, presence: true
|
|
validates :post_started_at, presence: true
|
|
validates :post_ended_at, presence: true
|
|
|
|
has_many :sections
|
|
has_many :web_sections, through: :sections
|
|
|
|
scope :with_active, -> { where("post_started_at <= ?", Time.current).where("post_ended_at >= ?", Time.current) }
|
|
|
|
scope :with_inactive, -> { where("post_started_at > ? or post_ended_at < ?", Time.current, Time.current) }
|
|
|
|
scope :in_section, ->(section_name) { joins(:web_sections, :sections).where("web_sections.name ilike ?", section_name) }
|
|
end
|