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