Sha256: 24c2f2ba77df47a3f7b9f68822e1704d9fc8e23747ddc3b0e910f876fc02a37f
Contents?: true
Size: 620 Bytes
Versions: 75
Compression:
Stored size: 620 Bytes
Contents
module Pageflow class EntryPublication attr_reader :entry, :attributes, :quota, :user def initialize(entry, attributes, published_entries_quota, user) @entry = entry @attributes = attributes @quota = published_entries_quota @user = user end def exceeding? assumed_quota.exceeded? end def save! assumed_quota.verify_not_exceeded! entry.publish(attributes.merge(creator: user)) Pageflow.config.hooks.invoke(:entry_published, entry: entry) end private def assumed_quota quota.assume(published_entry: entry) end end end
Version data entries
75 entries across 75 versions & 1 rubygems