Sha256: ce4ac2c527388e8383af5a9de8929dcda8fe41ca156a63fa0e47708778a73291

Contents?: true

Size: 601 Bytes

Versions: 12

Compression:

Stored size: 601 Bytes

Contents

module ConcurrentDraft::PageExtensions
  
  def self.included(base)
    base.class_eval do
      alias_method_chain :parse_object, :drafts
    end
  end
  
  def promote_draft!
    parts.reload.each(&:promote_draft!)
    update_attribute('status_id', Status[:published].id)
    super
  end
  
  def unpublish!
    parts.each(&:unpublish!)
    update_attributes('published_at' => nil, 'status_id' => Status[:draft].id)
    super
  end
  
  private
  
  def parse_object_with_drafts(object)
    object.content = object.draft_content unless published?
    parse_object_without_drafts(object)
  end
  
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
radiant-concurrent_draft-extension-1.0.11 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.10 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.9 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.8 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.7 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.6 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.5 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.4 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.3 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.2 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.1 lib/concurrent_draft/page_extensions.rb
radiant-concurrent_draft-extension-1.0.0 lib/concurrent_draft/page_extensions.rb