module LinkedRails::Enhancements::Menuable::Serializer::ClassMethods

Public Instance Methods

include_menus() click to toggle source
# File lib/linked_rails/enhancements/menuable/serializer.rb, line 19
def include_menus
  serializable_class.try(:menu_class)&.defined_menus&.keys&.each do |menu|
    has_one "#{menu}_menu",
            predicate: Vocab.ontola["#{menu.to_s.camelize(:lower)}Menu"],
            if: method(:named_object?),
            polymorphic: true do |object, opts|
      object.menu(menu, opts[:scope])
    end
  end
end
inherited(target) click to toggle source
Calls superclass method
# File lib/linked_rails/enhancements/menuable/serializer.rb, line 14
def inherited(target)
  super
  target.include_menus
end