lib/wash_out/param.rb in wash_out-0.7.1 vs lib/wash_out/param.rb in wash_out-0.8.1
- old
+ new
@@ -131,10 +131,14 @@
# This function returns an array of WashOut::Param objects.
def self.parse_def(definition)
raise RuntimeError, "[] should not be used in your params. Use nil if you want to mark empty set." if definition == []
return [] if definition == nil
- if [Array, Symbol, Class].include?(definition.class)
+ if definition.is_a?(Class) && definition.ancestors.include?(WashOut::Type)
+ definition = definition.wash_out_param_map
+ end
+
+ if [Array, Symbol].include?(definition.class)
definition = { :value => definition }
end
if definition.is_a? Hash
definition.map do |name, opt|