Module: Plugs::ClassMethods

Defined in:
lib/plugs.rb

Instance Method Summary collapse

Instance Method Details

#[](*keys) ⇒ Object



18
19
20
21
22
# File 'lib/plugs.rb', line 18

def [](*keys)
  instance = new
  instance.plugs = plugs.values_at(*keys).flatten
  instance
end

#plug(key, &block) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/plugs.rb', line 24

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

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

  plug.result
end

#plugsObject



33
34
35
36
# File 'lib/plugs.rb', line 33

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