lib/event_machine.rb in event_machine-0.3.1 vs lib/event_machine.rb in event_machine-0.4.0
- old
+ new
@@ -1,112 +1,13 @@
-require "pp"
-require 'benchmark'
-
-module EventMachine
-
- EVENTS_DIR = "events"
-
- def self.included(base)
- class_eval <<-EOF
- @@reporter_events = Array.new
- EOF
- base.class_eval <<-BCE
- around_filter :reporter_around_filter
- BCE
- end
-
- protected
-
- def reporter_around_filter
-
- events_load_bm = Benchmark.measure do
- load_events if @@reporter_events.empty?
- end
-
- events = @@reporter_events.select {|e| e.match_event?(self.class, action_name)}
-
- # Calling all before actions for this controler and action
- events.each { |event| event.call_before(self) }
-
- # Calling original action
- yield
-
- # Calling all after actions for this controler and action
- events.each { |event| event.call_after(self) }
- end
-
- def for_action(controller, action, &block)
- @@reporter_events << EventMeta.new(controller, action, &block)
- end
-
- def for_actions(actions_array, &block)
- actions_array.each do |item|
- @@reporter_events << EventMeta.new(item[0], item[1], &block)
- end
- end
-
- def turn_off_for_action(controller, action, &block)
- for_action(controller, action, &block) if test?
- end
-
- def load_events
- return if test?
- Dir["#{EVENTS_DIR}/**/*event.rb"].collect do |file|
- load_event(file)
- end
- end
-
- def load_event(file)
- clear_events if test?
- code = File.new(file).readlines.join('')
- begin
- instance_eval code, __FILE__, __LINE__
- rescue => e
- logger.warn "FAILED!"
- logger.warn e.backtrace
- end
- end
-
- def clear_events
- @@reporter_events.clear
- end
-
- def reporter_events
- @@reporter_events
- end
-
- def test?
- ENV["RAILS_ENV"] == "test"
- end
-
- class EventMeta
-
- def initialize(controller_class, name, &block)
- @controller_class = controller_class
- @action = name
- self.instance_eval(&block)
- end
-
- def call_before(controller_instance)
- controller_instance.instance_eval(&@before) if @before
- end
-
- def call_after(controller_instance)
- controller_instance.instance_eval(&@after) if @after
- end
-
- def match_event?(clazz, action_name)
- @controller_class == clazz && @action.to_s == action_name.to_s
- end
- private
-
- def before(&block)
- @before = block
- end
-
- def after(&block)
- @after = block
- end
-
- end
-
-end
+require "event_machine/version"
+require "active_support/dependencies"
+
+module EventMachine
+ mattr_accessor :app_root
+
+ def self.setup
+ yield self
+ end
+end
+
+require "event_machine/engine"
+require "event_machine/hooks"