Sha256: 8037fa155e8c507e395f6c0458615ffa7dd8c508c91bb03535277fd65f346210

Contents?: true

Size: 793 Bytes

Versions: 15

Compression:

Stored size: 793 Bytes

Contents

module RoutingFilter
  class Base
    class_inheritable_accessor :active
    self.active = true

    attr_accessor :chain, :options

    def initialize(options = {})
      @options = options
      options.each { |name, value| instance_variable_set :"@#{name}", value }
    end

    def run(method, *args, &block)
      _next = successor ? lambda { successor.run(method, *args, &block) } : block
      active ? send(method, *args, &_next) : _next.call(*args)
    end

    def run_reverse(method, *args, &block)
      _prev = predecessor ? lambda { predecessor.run(method, *args, &block) } : block
      active ? send(method, *args, &_prev) : _prev.call(*args)
    end

    def predecessor
      @chain.predecessor(self)
    end

    def successor
      @chain.successor(self)
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
refinerycms-0.9.7.15 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.14 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.13 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.11 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.10 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.9 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.8 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.7 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.6 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.5 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.4 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.3 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.2 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7.1 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb
refinerycms-0.9.7 vendor/plugins/i18n/lib/routing_filter/routing_filter/base.rb