Module: Sequel::Plugins::HookClassMethods::ClassMethods

Defined in:
lib/sequel/plugins/hook_class_methods.rb

Instance Method Summary collapse

Instance Method Details

#freezeObject

Freeze hooks when freezing model class.



50
51
52
53
# File 'lib/sequel/plugins/hook_class_methods.rb', line 50

def freeze
  @hooks.freeze.each_value(&:freeze)
  super
end

#has_hooks?(hook) ⇒ Boolean

Returns true if there are any hook blocks for the given hook.

Returns:

  • (Boolean)


56
57
58
# File 'lib/sequel/plugins/hook_class_methods.rb', line 56

def has_hooks?(hook)
  !@hooks[hook].empty?
end

#hook_blocks(hook) ⇒ Object

Yield every block related to the given hook.



61
62
63
64
65
# File 'lib/sequel/plugins/hook_class_methods.rb', line 61

def hook_blocks(hook)
  # SEQUEL6: Remove
  Sequel::Deprecation.deprecate("The hook_blocks class method in the hook_class_methods plugin is deprecated and will be removed in Sequel 6.")
  @hooks[hook].each{|_,v,_| yield v}
end

#hook_methods_for(hook) ⇒ Object

Yield every method related to the given hook.



68
69
70
# File 'lib/sequel/plugins/hook_class_methods.rb', line 68

def hook_methods_for(hook)
  @hooks[hook].each{|_,_,m| yield m}
end