Class: StimulusPlumbers::Plumber::Slots
- Inherits:
-
Object
- Object
- StimulusPlumbers::Plumber::Slots
show all
- Defined in:
- lib/stimulus_plumbers/plumber/slots.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(template = nil) ⇒ Slots
Returns a new instance of Slots.
14
15
16
17
|
# File 'lib/stimulus_plumbers/plumber/slots.rb', line 14
def initialize(template = nil)
@slots = {}
@template = template
end
|
Class Method Details
.slot(*names, by: nil) ⇒ Object
6
7
8
9
10
11
12
|
# File 'lib/stimulus_plumbers/plumber/slots.rb', line 6
def self.slot(*names, by: nil)
names.each do |name|
by ? define_by_slot(name, by) : define_flat_slot(name)
define_reader(name)
define_predicate(name)
end
end
|
Instance Method Details
#any? ⇒ Boolean
32
33
34
|
# File 'lib/stimulus_plumbers/plumber/slots.rb', line 32
def any?
@slots.any?
end
|
#none? ⇒ Boolean
36
37
38
|
# File 'lib/stimulus_plumbers/plumber/slots.rb', line 36
def none?
@slots.empty?
end
|
#options_for(name) ⇒ Object
28
29
30
|
# File 'lib/stimulus_plumbers/plumber/slots.rb', line 28
def options_for(name)
(@slots[name] || {})[:options] || {}
end
|
#resolve(name) ⇒ Object
19
20
21
22
23
24
25
26
|
# File 'lib/stimulus_plumbers/plumber/slots.rb', line 19
def resolve(name)
entry = @slots[name]
return unless entry
value = entry[:value]
value = capture_block(value) if value.is_a?(Proc)
block_given? ? yield(value) : value
end
|