lib/grope/wso_wrapper.rb in grope-0.1.2 vs lib/grope/wso_wrapper.rb in grope-0.1.3
- old
+ new
@@ -8,21 +8,29 @@
include Enumerable
attr_reader :wso
def self.wrap(value)
+ if value.respond_to?(:bool?) && value.bool?
+ return value.boolValue
+ end
+
case value
when nil
nil
when WSOWrapper
value
when Integer
value
when OSX::NSCFBoolean
value.boolValue
+ when OSX::NSNumber
+ value.integer? ? value.to_i : value.to_f
when OSX::NSCFNumber
value.integer? ? value.to_i : value.to_f
+ when OSX::NSMutableString
+ value.to_s
when OSX::NSCFString
value.to_s
else
new(value)
end
@@ -72,6 +80,9 @@
args.map do |arg|
self.class === arg ? arg.wso : arg
end
end
end
+end
+
+class OSX::NSCFString
end