Sha256: 5826761c01fcec9fa9cfb1e5a3e43edaf1f1ae5cc6a6597c99c9c6a2e57e1b75

Contents?: true

Size: 621 Bytes

Versions: 1

Compression:

Stored size: 621 Bytes

Contents

module Cmor::Cms
  module NavigationItem::PropertiesConcern
    extend ActiveSupport::Concern

    included do
      serialize :properties, OpenStruct
      delegate *Cmor::Cms::Configuration.navigation_item_properties, to: :li_attributes
      delegate *Cmor::Cms::Configuration.navigation_item_properties.collect { |a| "#{a}=".to_sym }, to: :li_attributes
    end

    def highlights_on
      properties.highlights_on ||= nil
    end

    delegate :highlights_on=, to: :properties

    def li_attributes
      properties.li_attributes ||= OpenStruct.new
    end

    delegate :li_attributes=, to: :properties
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cmor_cms-0.0.42.pre app/concerns/cmor/cms/navigation_item/properties_concern.rb