class Ddr::Auth::PublicationAbilityDefinitions

Public Instance Methods

call() click to toggle source

An object can't be published if it's already published or not publishable It can't be unpublished if it's already unpublished It can't be made nonpublishable if it's already published (must be unpublished first) or already nonpublishable

# File lib/ddr/auth/ability_definitions/publication_ability_definitions.rb, line 9
def call
  cannot :publish, Ddr::Resource do |obj|
    obj.published? || !obj.publishable?
  end
  cannot :unpublish, Ddr::Resource do |obj|
    !obj.published? && !obj.nonpublishable?
  end
  cannot :make_nonpublishable, Ddr::Resource do |obj|
    obj.published? || !obj.publishable?
  end
end