Module: FilterChain

Included in:
Wakame::Trigger
Defined in:
lib/wakame/util.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



412
413
414
415
416
417
418
419
420
421
422
# File 'lib/wakame/util.rb', line 412

def self.included(klass)
  klass.class_eval {
    def self.filter_chain
      @filter_chain ||= []
    end
    
    def self.append_filter(&blk)
      self.filter_chain << blk
    end
  }
end

Instance Method Details

#run_filter(pass_obj = nil) ⇒ Object



424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
# File 'lib/wakame/util.rb', line 424

def run_filter(pass_obj=nil)
  retrieve_filter_chain { |filter_chain|
    filter_chain.each { |filter_proc|
      begin
        ret = filter_proc.call(pass_obj)
      rescue => e
        ret = false
      end

      unless ret
        raise 
      end
    }
  }
end