Sha256: 906fea74f11521d693a2e74e7b4cfa9d58c2eb504b34837a7fc09b18a8541848

Contents?: true

Size: 946 Bytes

Versions: 1

Compression:

Stored size: 946 Bytes

Contents

class Skyline::Sections::ContentItemSection < ActiveRecord::Base
  include Skyline::SectionItem

  belongs_to :content_item, :polymorphic => true
  
  validates_presence_of :content_item_type, :content_item_id

  cattr_accessor :selectable_models  
  
  class << self
    def selectable_content_models
      # lazy load all models in /app/models (not recursive) to find all Content models
      Dir.chdir(File.join(Rails.root, "app", "models")) do 
        Dir.glob("*.rb").map{|f| f.sub(".rb","").camelcase.constantize}
      end
      Rails.logger.info "Selectable models for ContentItemSections: " + Skyline::Sections::ContentItemSection.selectable_models.inspect
      selectable_models || []
    end
    
    def register_selectable_model(klass)
      self.selectable_models ||= []
      self.selectable_models.delete_if{|c| c.to_s == klass.to_s } # Hack to remove stale object
      self.selectable_models << klass
    end
    
  end  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
skylinecms-3.0.7 app/models/skyline/sections/content_item_section.rb