lib/micronaut/behaviour.rb in spicycode-micronaut-0.2.3 vs lib/micronaut/behaviour.rb in spicycode-micronaut-0.2.4
- old
+ new
@@ -154,35 +154,35 @@
def self.after_ancestors
@_after_ancestors ||= ancestors(true)
end
+ def self.before_all_ivars
+ @before_all_ivars ||= {}
+ end
+
def self.eval_before_alls(running_behaviour)
+ superclass.before_all_ivars.each { |ivar, val| running_behaviour.instance_variable_set(ivar, val) }
Micronaut.configuration.find_before_or_after(:before, :all, self).each { |blk| running_behaviour.instance_eval(&blk) }
before_alls.each { |blk| running_behaviour.instance_eval(&blk) }
+ running_behaviour.instance_variables.each { |ivar| before_all_ivars[ivar] = running_behaviour.instance_variable_get(ivar) }
end
def self.eval_before_eachs(running_behaviour)
Micronaut.configuration.find_before_or_after(:before, :each, self).each { |blk| running_behaviour.instance_eval(&blk) }
-
- before_ancestors.each do |ancestor|
- ancestor.before_eachs.each { |blk| running_behaviour.instance_eval(&blk) }
- end
+ before_ancestors.each { |ancestor| ancestor.before_eachs.each { |blk| running_behaviour.instance_eval(&blk) } }
end
def self.eval_after_alls(running_behaviour)
after_alls.each { |blk| running_behaviour.instance_eval(&blk) }
-
Micronaut.configuration.find_before_or_after(:after, :all, self).each { |blk| running_behaviour.instance_eval(&blk) }
+ before_all_ivars.keys.each { |ivar| before_all_ivars[ivar] = running_behaviour.instance_variable_get(ivar) }
end
def self.eval_after_eachs(running_behaviour)
- after_ancestors.each do |ancestor|
- ancestor.after_eachs.each { |blk| running_behaviour.instance_eval(&blk) }
- end
-
+ after_ancestors.each { |ancestor| ancestor.after_eachs.each { |blk| running_behaviour.instance_eval(&blk) } }
Micronaut.configuration.find_before_or_after(:after, :each, self).each { |blk| running_behaviour.instance_eval(&blk) }
end
def self.run(reporter)
behaviour_instance = new
@@ -212,6 +212,6 @@
def self.to_s
self == Micronaut::Behaviour ? 'Micronaut::Behaviour' : name
end
end
-end
\ No newline at end of file
+end