Sha256: 734be170929e9f1ae0086cd6aa3d13f602445021ae1484363cedc967127b70a6

Contents?: true

Size: 606 Bytes

Versions: 2

Compression:

Stored size: 606 Bytes

Contents

module ContentState
  class Withdrawn < Base
    include Singleton

    def enter_hook(content)
      content[:published] = false
    end

    def change_published_state(content, boolean)
      return unless boolean
      content[:published] = true
      content.state = Published.instance
    end

    def set_published_at(content, new_time)
      content[:published_at] = new_time
      Trigger.remove(content, :trigger_method => 'publish!')
      return if new_time.nil? || new_time <= Time.now
      content.state = PublicationPending.instance
    end

    def withdrawn?
      true
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
typo-4.1.1 app/models/content_state/withdrawn.rb
typo-4.1 app/models/content_state/withdrawn.rb