lib/schemacop/v3/string_node.rb in schemacop-3.0.0.rc3 vs lib/schemacop/v3/string_node.rb in schemacop-3.0.0.rc4
- old
+ new
@@ -64,24 +64,32 @@
end
end
end
def cast(value)
+ if value.present?
+ to_cast = value
+ elsif default.present?
+ to_cast = default
+ else
+ return nil
+ end
+
case options[:format]
when :boolean
- return value == 'true'
+ return to_cast == 'true'
when :date
- return Date.parse(value)
+ return Date.parse(to_cast)
when :'date-time'
- return DateTime.parse(value)
+ return DateTime.parse(to_cast)
when :time
- Time.parse(value)
+ Time.parse(to_cast)
when :integer
- return Integer(value)
+ return Integer(to_cast)
when :number
- return Float(value)
+ return Float(to_cast)
else
- return value || default
+ return to_cast
end
end
protected