Class: Pokey::Hooks

Inherits:
Object
  • Object
show all
Defined in:
lib/pokey/hooks.rb

Constant Summary collapse

@@hooks =
[]

Class Method Summary collapse

Class Method Details

.add(&block) ⇒ Object



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

def self.add(&block)
  hook = Pokey::Hook.new
  block.call(hook)
  @@hooks << hook
end

.add_from_class(klass) ⇒ Object



24
25
26
27
# File 'lib/pokey/hooks.rb', line 24

def self.add_from_class(klass)
  return unless klass
  @@hooks << klass.new
end

.add_from_dir(directory) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/pokey/hooks.rb', line 29

def self.add_from_dir(directory)
  directory += "/" if directory[-1] != "/"

  Dir.glob("#{directory}*.rb").map(&File.method(:realpath)).each do |file_path|
    require file_path

    base_name = File.basename(file_path, ".rb")
    klass = Helpers::Inflector.constantize(base_name.split('_').collect(&:capitalize).join)
    add_from_class(klass)
  end
end

.allObject



10
11
12
# File 'lib/pokey/hooks.rb', line 10

def self.all
  @@hooks
end

.clear!Object



6
7
8
# File 'lib/pokey/hooks.rb', line 6

def self.clear!
  @@hooks = []
end

.countObject



14
15
16
# File 'lib/pokey/hooks.rb', line 14

def self.count
  @@hooks.length
end