Sha256: 663191df08ca5fd05e7683168cc4ac56b44d17a97a6c254bb289d564cd27986a
Contents?: true
Size: 598 Bytes
Versions: 5
Compression:
Stored size: 598 Bytes
Contents
module Nanoc class PageProxy def initialize(page) @page = page end def [](key) real_key = key.to_s.sub(/\?$/, '').to_sym if real_key == :content @page.content elsif real_key == :parent @page.parent.nil? ? nil : @page.parent.to_proxy elsif real_key == :children @page.children.map { |page| page.to_proxy } else @page.attribute_named(real_key) end end def []=(key, value) @page.attributes[key.to_sym] = value end def method_missing(method, *args) self[method] end end end
Version data entries
5 entries across 5 versions & 1 rubygems