Sha256: f04486fb8bfa5ad4c35b982d18096c8dd3d5aef2ceb584e7ecc2d502659d308a

Contents?: true

Size: 683 Bytes

Versions: 34

Compression:

Stored size: 683 Bytes

Contents

# frozen_string_literal: true

module LinkedRails
  module Model
    module Menuable
      extend ActiveSupport::Concern

      def menus(user_context = nil)
        menu_list(user_context).menus
      end

      def menu(tag, user_context = nil)
        menu_list(user_context).menu(tag)
      end

      def menu_list(user_context = nil)
        @menu_list ||= {}
        @menu_list[user_context] ||= self.class.menu_class.new(resource: self, user_context: user_context)
      end

      module ClassMethods
        def menu_class
          @menu_class ||= "#{name}MenuList".safe_constantize || "#{superclass.name}MenuList".safe_constantize
        end
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
linked_rails-0.0.4.pre.gacd5f04d4 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.gb0b6aea40 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g792a1b887 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g58af47992 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g0ec6e30ca lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g9e3bcac55 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g222bfeeca lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.gb254a2893 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g2c6c26e86 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.ge881247c3 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.gfabf7e9f5 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g8c045be3a lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g8d7195543 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.gfe77aae19 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.gc866c1806 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g3e8f5731a lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g58e27be7f lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g96885856b lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g1faca9643 lib/linked_rails/model/menuable.rb
linked_rails-0.0.4.pre.g4c8e21c9f lib/linked_rails/model/menuable.rb