Sha256: 4a65fe8a83b0a4e0b731bcc75c0e64a812b8c8ab45172881705834454b45700f

Contents?: true

Size: 526 Bytes

Versions: 1

Compression:

Stored size: 526 Bytes

Contents

require 'acts_as_list'
module Fe
  class PageElement < ActiveRecord::Base
    self.table_name = self.table_name.sub('fe_', Fe.table_name_prefix)
    acts_as_list :scope => :page_id
    belongs_to :page
    belongs_to :element

    after_save :save_element
    before_create :set_position

    def set_position
      self.position ||= (page.page_elements.last.try(:position) + 1) || page.elements.last.try(:position) || 0
    end

    # need conditional callbacks run
    def save_element
      element.save!
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fe-0.0.4 app/models/fe/page_element.rb