Module: Phlex::Slotable::ClassMethods

Defined in:
lib/phlex/slotable.rb

Instance Method Summary collapse

Instance Method Details

#slot(slot_name, callable = nil, types: nil, collection: false) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/phlex/slotable.rb', line 21

def slot(slot_name, callable = nil, types: nil, collection: false)
  include DeferredRender

  if types
    types.each do |type, callable|
      define_setter_method(slot_name, callable, collection: collection, type: type)
    end
  else
    define_setter_method(slot_name, callable, collection: collection)
  end
  define_predicate_method(slot_name, collection: collection)
  define_getter_method(slot_name, collection: collection)
end