Sha256: 32cf407e233820d2fb380b1e76b649df3e3df1ab45f29c6be6d73dffeab4a3ec

Contents?: true

Size: 559 Bytes

Versions: 1

Compression:

Stored size: 559 Bytes

Contents

class PageType
  include Model

  field :type, type: Symbol
  field :allowed_parents, type: Array
  # field :allowed_children, type: Array
  field :allowed_content_blocks, type: Array
  field :defaults, type: Hash

  validates_uniqueness_of :type

  has_many :page_nodes


  def allowed_children
    self.class.where( :allowed_parents.in => [type] )
  end

  def human_name
    Aerogel::I18n.t "aerogel.pages.page_type.#{type}", default: type.to_s.humanize
  end

end # class PageType


# :page -> [nil, :page]
# :news -> [:page]
# :news_article -> [:news]
#

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aerogel-pages-1.4.16 db/model/page_type.rb