lib/caricature/clr/messenger.rb in caricature-0.7.5 vs lib/caricature/clr/messenger.rb in caricature-0.7.6
- old
+ new
@@ -1,50 +1,52 @@
-module Caricature
-
- # Encapsulates sending messages to CLR class or instance isolations
- class ClrClassMessenger < Messenger
-
- protected
-
- # deliver the message to the receiving isolation
- def internal_deliver(mode, method_name, return_type, *args, &b)
- exp = expectations.find(method_name, mode, *args)
- bl = record_call(method_name, mode, exp, *args, &b)
- is_value_type = return_type && return_type != System::Void.to_clr_type && return_type.is_value_type
- res = nil
- if exp
- block = exp.block || b
- res = instance.__send__(method_name, *args, &block) if exp.super_before?
- exp.event_recorder do |ev_nm, ev_ar, ev_h|
- recorder.record_event_raise ev_nm, mode, *ev_ar, &ev_h if ev_nm
- end if recorder && exp
- res = exp.execute *args, &bl
- res = instance.__send__(method_name, *args, &block) if !exp.super_before? and exp.call_super?
- end
- res ||= System::Activator.create_instance(return_type) if is_value_type
- res
- end
-
- end
-
- # Encapsulates sending messages to CLR interface isolations
- class ClrInterfaceMessenger < Messenger
-
- protected
-
- # deliver the message to the receiving isolation
- def internal_deliver(mode, method_name, return_type, *args, &b)
- res = nil
- is_value_type = return_type && return_type != System::Void.to_clr_type && return_type.is_value_type
- exp = expectations.find(method_name, mode, *args)
- exp.event_recorder do |ev_nm, ev_ar, ev_h|
- recorder.record_event_raise ev_nm, mode, *ev_ar, &ev_h if ev_nm
- end if recorder && exp
- bl = record_call(method_name, mode, exp, *args, &b)
- res = exp.execute *args, &bl if exp
- res ||= System::Activator.create_instance(return_type) if is_value_type
- res
- end
-
- end
-
+module Caricature
+
+ # Encapsulates sending messages to CLR class or instance isolations
+ class ClrClassMessenger < Messenger
+
+ protected
+
+ # deliver the message to the receiving isolation
+ def internal_deliver(mode, method_name, return_type, *args, &b)
+ exp = expectations.find(method_name, mode, *args)
+# exp = expectations.find(method_name.underscore, mode, *args) unless exp
+ bl = record_call(method_name, mode, exp, *args, &b)
+ is_value_type = return_type && return_type != System::Void.to_clr_type && return_type.is_value_type
+ res = nil
+ if exp
+ block = exp.block || b
+ res = instance.__send__(method_name, *args, &block) if exp.super_before?
+ exp.event_recorder do |ev_nm, ev_ar, ev_h|
+ recorder.record_event_raise ev_nm, mode, *ev_ar, &ev_h if ev_nm
+ end if recorder && exp
+ res = exp.execute *args, &bl
+ res = instance.__send__(method_name, *args, &block) if !exp.super_before? and exp.call_super?
+ end
+ res ||= System::Activator.create_instance(return_type) if is_value_type
+ res
+ end
+
+ end
+
+ # Encapsulates sending messages to CLR interface isolations
+ class ClrInterfaceMessenger < Messenger
+
+ protected
+
+ # deliver the message to the receiving isolation
+ def internal_deliver(mode, method_name, return_type, *args, &b)
+ res = nil
+ is_value_type = return_type && return_type != System::Void.to_clr_type && return_type.is_value_type
+ exp = expectations.find(method_name, mode, *args)
+# exp = expectations.find(method_name.underscore, mode, *args) unless exp
+ exp.event_recorder do |ev_nm, ev_ar, ev_h|
+ recorder.record_event_raise ev_nm, mode, *ev_ar, &ev_h if ev_nm
+ end if recorder && exp
+ bl = record_call(method_name, mode, exp, *args, &b)
+ res = exp.execute *args, &bl if exp
+ res ||= System::Activator.create_instance(return_type) if is_value_type
+ res
+ end
+
+ end
+
end
\ No newline at end of file