Skip to content

Instantly share code, notes, and snippets.

@yaauie
Created April 1, 2014 22:39
Show Gist options
  • Select an option

  • Save yaauie/9924587 to your computer and use it in GitHub Desktop.

Select an option

Save yaauie/9924587 to your computer and use it in GitHub Desktop.
    # @return [Proc]
    def nested_around_hooks
      final_hook = lambda { perform_job }
      hooks[:around].reverse.inject(final_hook) do |last_hook, hook|
        lambda { perform_hook(hook) { last_hook.call } }
      end
    end
    # @return [Proc]
    def nested_around_hooks
      final_hook = lambda { perform_job }
      hooks[:around].reverse.inject(final_hook) do |last_hook_proc, hook_name|
        lambda { perform_hook(hook_name, &last_hook_proc) }
      end
    end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment