class Ez::Resources::Manager::Hooks

Attributes

hooks[R]

Public Class Methods

can!(name, config, data = nil) click to toggle source
# File lib/ez/resources/manager/hooks.rb, line 11
def self.can!(name, config, data = nil)
  return true if config.hooks.empty?
  if config.hooks.select { |h| h.name == name }.map { |h| h.callback.call(config.controller, data) }.all?(true)
    return true
  end

  raise UnavailableError, "Negative #{name}"
end
can?(name, config, data = nil) click to toggle source
# File lib/ez/resources/manager/hooks.rb, line 20
def self.can?(name, config, data = nil)
  return true if config.hooks.empty?

  config.hooks.select { |h| h.name == name }.map { |h| h.callback.call(config.controller, data) }.all?(true)
end
new(&block) click to toggle source
# File lib/ez/resources/manager/hooks.rb, line 26
def initialize(&block)
  @hooks = []

  instance_eval(&block)
end

Public Instance Methods

add(name, callback) click to toggle source
# File lib/ez/resources/manager/hooks.rb, line 32
def add(name, callback)
  @hooks << Hook.new(name: name, callback: callback)
end