Module: LinkedRails::Enhancements::Menuable::Serializer::ClassMethods

Defined in:
lib/linked_rails/enhancements/menuable/serializer.rb

Instance Method Summary collapse

Instance Method Details

#include_menusObject



19
20
21
22
23
24
25
26
27
28
# 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) ⇒ Object



14
15
16
17
# File 'lib/linked_rails/enhancements/menuable/serializer.rb', line 14

def inherited(target)
  super
  target.include_menus
end