Sha256: 5a0a9e28233ce4ede1610985767773066d1704b6a89e12c704b1035792b357a9
Contents?: true
Size: 1.12 KB
Versions: 2
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true require "active_support/concern" module Decidim # This concern contains the logic related to publication and promotion. module Publicable extend ActiveSupport::Concern class_methods do # Public: Scope to return only published records. # # Returns an ActiveRecord::Relation. def published where.not(published_at: nil) end # Public: Scope to return only unpublished records. # # Returns an ActiveRecord::Relation. def unpublished where(published_at: nil) end end # Public: Checks whether the record has been published or not. # # Returns true if published, false otherwise. def published? published_at.present? end # # Public: Publishes this feature # # Returns true if the record was properly saved, false otherwise. def publish! update!(published_at: Time.current) end # # Public: Unpublishes this feature # # Returns true if the record was properly saved, false otherwise. def unpublish! update!(published_at: nil) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
decidim-core-0.10.1 | lib/decidim/publicable.rb |
decidim-core-0.10.0 | lib/decidim/publicable.rb |