Sha256: 45874693ad434c920e308903f1cbf73f7910c5ac54ee60f5eba4b4c92ca6c475

Contents?: true

Size: 728 Bytes

Versions: 4

Compression:

Stored size: 728 Bytes

Contents

require 'active_support/concern'

module Ecm::Cms
  module NavigationItem::Properties
    extend ActiveSupport::Concern

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

    def highlights_on
      self.properties.highlights_on ||= nil
    end

    def highlights_on=(highlights_on)
      properties.highlights_on = highlights_on
    end

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

    def li_attributes=(li_attributes)
      properties.li_attributes = li_attributes
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ecm_cms2-1.1.1 app/models/concerns/ecm/cms/navigation_item/properties.rb
ecm_cms2-1.1.0 app/models/concerns/ecm/cms/navigation_item/properties.rb
ecm_cms2-1.0.1 app/models/concerns/ecm/cms/navigation_item/properties.rb
ecm_cms2-1.0.0 app/models/concerns/ecm/cms/navigation_item/properties.rb