Sha256: 5da9784c1e437450aefaaf324b7dee8bfae3cd3d8f21a792c431ff043081c3a0
Contents?: true
Size: 928 Bytes
Versions: 2
Compression:
Stored size: 928 Bytes
Contents
module PufferPages module Liquid class PageDrop < ::Liquid::Drop def initialize page, request = nil @page, @request = page, request end (%w(name title description keywords created_at updated_at) + Page.statuses.map{|s| "#{s}?"}).each do |attribute| define_method attribute do @page.send(attribute) end end def parent @parent ||= self.class.new(@page.parent, @request) end %w(children ancestors).each do |attribute| define_method attribute do instance_variable_get("@#{attribute}") || instance_variable_set("@#{attribute}", @page.send(attribute).map{ |page| self.class.new(page, @request)}) end end def ancestors? !@page.root? end def children? @page.children.present? end def path end def url end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
puffer_pages-0.0.9 | lib/puffer_pages/liquid/page_drop.rb |
puffer_pages-0.0.8 | lib/puffer_pages/liquid/page_drop.rb |