lib/phenomenal_rails/middleware.rb in phenomenal_rails-1.0.0 vs lib/phenomenal_rails/middleware.rb in phenomenal_rails-1.1.0
- old
+ new
@@ -1,15 +1,27 @@
module PhenomenalRails
class Middleware
def initialize(app)
@app=app
+ @activation_conditions=Array.new
+ Phenomenal::Feature.middleware=self
end
+ def add_condition(feature,&block)
+ @activation_conditions.push([feature,block])
+ end
+
def call(env)
- PhenomenalRails::Middleware.activation_handler(env)
+ before_call(env)
@app.call(env)
end
- def self.activation_handler(env)
+ def before_call(env)
+ @activation_conditions.each do |feature_block|
+ feature,block = feature_block
+ if feature.active?
+ block.call(env)
+ end
+ end
end
end
end