Sha256: 95318cae85c9dac3c4587c61a7d86f077c705504e85343e8d0090de29b5c56ec

Contents?: true

Size: 1.08 KB

Versions: 69

Compression:

Stored size: 1.08 KB

Contents

# frozen-string-literal: true

#
class Roda
  module RodaPlugins
    # Internal before hook module, not for external use.
    # Allows for plugins to configure the order in which
    # before processing is done by using _roda_before_*
    # private instance methods that are called in sorted order.
    # Loaded automatically by the base library if any _roda_before_*
    # methods are defined.
    module BeforeHook # :nodoc:
      module InstanceMethods
        # Run internal before hooks - Old Dispatch API.
        def call(&block)
          # RODA4: Remove
          super do
            _roda_before
            instance_exec(@_request, &block) # call Fallback
          end
        end

        # Run internal before hooks before running the main
        # roda route.
        def _roda_run_main_route(r)
          _roda_before
          super
        end

        private

        # Default empty implementation of _roda_before, usually
        # overridden by Roda.def_roda_before.
        def _roda_before
        end
      end
    end

    register_plugin(:_before_hook, BeforeHook)
  end
end

Version data entries

69 entries across 69 versions & 1 rubygems

Version Path
roda-3.86.0 lib/roda/plugins/_before_hook.rb
roda-3.85.0 lib/roda/plugins/_before_hook.rb
roda-3.84.0 lib/roda/plugins/_before_hook.rb
roda-3.83.0 lib/roda/plugins/_before_hook.rb
roda-3.82.0 lib/roda/plugins/_before_hook.rb
roda-3.81.0 lib/roda/plugins/_before_hook.rb
roda-3.79.0 lib/roda/plugins/_before_hook.rb
roda-3.78.0 lib/roda/plugins/_before_hook.rb
roda-3.77.0 lib/roda/plugins/_before_hook.rb
roda-3.76.0 lib/roda/plugins/_before_hook.rb
roda-3.75.0 lib/roda/plugins/_before_hook.rb
roda-3.74.0 lib/roda/plugins/_before_hook.rb
roda-3.73.0 lib/roda/plugins/_before_hook.rb
roda-3.72.0 lib/roda/plugins/_before_hook.rb
roda-3.71.0 lib/roda/plugins/_before_hook.rb
roda-3.70.0 lib/roda/plugins/_before_hook.rb
roda-3.69.0 lib/roda/plugins/_before_hook.rb
roda-3.68.0 lib/roda/plugins/_before_hook.rb
roda-3.67.0 lib/roda/plugins/_before_hook.rb
roda-3.66.0 lib/roda/plugins/_before_hook.rb