module Bridgetown::Builders::DSL::Hooks

Public Instance Methods

add_data(data_key) { || ... } click to toggle source
# File lib/bridgetown-builder/dsl/hooks.rb, line 20
def add_data(data_key)
  hook(:site, :post_read) do
    site.data[data_key] = yield
  end
end
hook( owner, event, method_name = nil, priority: Bridgetown::Hooks::DEFAULT_PRIORITY, &block ) click to toggle source
# File lib/bridgetown-builder/dsl/hooks.rb, line 7
def hook(
  owner,
  event,
  method_name = nil,
  priority: Bridgetown::Hooks::DEFAULT_PRIORITY,
  &block
)
  block = method(method_name) if method_name.is_a?(Symbol)

  hook_block = Bridgetown::Hooks.register_one(owner, event, priority: priority, &block)
  functions << { name: name, hook: [owner, event, priority, hook_block] }
end