Sha256: 2ebfc10bc694f7164fbc7e5a0f3ceca9eedf5289bfd3a3d365e1e918a561480f

Contents?: true

Size: 1.08 KB

Versions: 5

Compression:

Stored size: 1.08 KB

Contents

class SpudPagePartial < ActiveRecord::Base
  belongs_to :spud_page, touch: true
  validates :name, presence: true
  before_save :maintain_revisions
  before_save :update_symbol_name

  def update_symbol_name
    self.symbol_name = name.parameterize.underscore
  end

  def symbol_name
    return @symbol_name || name.parameterize.underscore
  end

  def content_processed
    ActiveSupport::Deprecation.warn('#content_processed is deprecated; use #content instead.')
    content
  end

  def maintain_revisions
    return true unless changed.include?('content')
    revision = SpudPagePartialRevision.new(spud_page_id: spud_page_id, name: name, format: format, content: content)
    revision.save
    if Spud::Cms.max_revisions > 0
      revision_count = SpudPagePartialRevision.where(spud_page_id: spud_page_id, name: name).count
      if revision_count > Spud::Cms.max_revisions
        revision_bye = SpudPagePartialRevision.where(spud_page_id: spud_page_id, name: name).order('created_at ASC').first
        revision_bye.destroy unless revision_bye.blank?
      end
    end
    return true
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
tb_cms-1.3.6 app/models/spud_page_partial.rb
tb_cms-1.3.5 app/models/spud_page_partial.rb
tb_cms-1.3.3 app/models/spud_page_partial.rb
tb_cms-1.3.2 app/models/spud_page_partial.rb
tb_cms-1.3.1 app/models/spud_page_partial.rb