Module: Plugs::ClassMethods

Defined in:
lib/plugs.rb

Instance Method Summary collapse

Instance Method Details

#[](*keys) ⇒ Object



53
54
55
# File 'lib/plugs.rb', line 53

def [](*keys)
  new(plugs: SubSelector.sub_select(plugs:, keys:), keys:)
end

#plug(key, &block) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/plugs.rb', line 38

def plug(key, &block)
  plug = Plug.new(key:, &block)

  plugs[key] ||= []
  plugs[key] << plug
  plug_stack << plug

  plug.result

  plug_stack.pop
  plug_stack.last.children << plug if plug_stack.last

  nil
end

#plug_stackObject



62
63
64
65
# File 'lib/plugs.rb', line 62

def plug_stack
  @plug_stack ||= []
  @plug_stack
end

#plugsObject



57
58
59
60
# File 'lib/plugs.rb', line 57

def plugs
  @plugs ||= {}
  @plugs
end