Sha256: a30690ffa34d5f710e255486e23bea6278c71378b9a4c4b8b8074fa374f978ca
Contents?: true
Size: 1.26 KB
Versions: 12
Compression:
Stored size: 1.26 KB
Contents
module Alchemy # = Fixed page attributes # # Fixed page attributes are not allowed to be changed by the user. # # Define fixed page attributes on the page layout definition of a page. # # == Example # # # page_layout.yml # - name: Index # unique: true # fixed_attributes: # - public_on: nil # - public_until: nil # - visible: false # class Page::FixedAttributes attr_reader :page def initialize(page) @page = page end # All fixed attributes defined on page # # Aliased as +#all+ # # @return Hash # def attributes @_attributes ||= page.definition.fetch('fixed_attributes', {}).symbolize_keys end alias_method :all, :attributes # True if fixed attributes are defined on page # # Aliased as +#present?+ # # @return Boolean # def any? attributes.present? end alias_method :present?, :any? # True if given attribute name is defined on page # # @return Boolean # def fixed?(name) return false if name.nil? attributes.key?(name.to_sym) end # Returns the attribute by key # def [](name) return nil if name.nil? attributes[name.to_sym] end end end
Version data entries
12 entries across 12 versions & 1 rubygems