Commit 22ac9eaa by slainer68

Tests, tests, tests, yay

parent 43097161
...@@ -40,7 +40,7 @@ By declaring parameter types, incoming parameters will automatically be transfor ...@@ -40,7 +40,7 @@ By declaring parameter types, incoming parameters will automatically be transfor
- `String` - `String`
- `Integer` - `Integer`
- `Float` - `Float`
- `Boolean` _("1/0", "true/false", "t/f", "yes/no", "y/n")_ - `:boolean/TrueClass/FalseClass` _("1/0", "true/false", "t/f", "yes/no", "y/n")_
- `Array` _("1,2,3,4,5")_ - `Array` _("1,2,3,4,5")_
- `Hash` _(key1:value1,key2:value2)_ - `Hash` _(key1:value1,key2:value2)_
- `Date`, `Time`, & `DateTime` - `Date`, `Time`, & `DateTime`
......
...@@ -53,7 +53,7 @@ module RailsParam ...@@ -53,7 +53,7 @@ module RailsParam
return DateTime.parse(param) if type == DateTime return DateTime.parse(param) if type == DateTime
return Array(param.split(options[:delimiter] || ",")) if type == Array return Array(param.split(options[:delimiter] || ",")) if type == Array
return Hash[param.split(options[:delimiter] || ",").map{|c| c.split(options[:separator] || ":")}] if type == Hash return Hash[param.split(options[:delimiter] || ",").map{|c| c.split(options[:separator] || ":")}] if type == Hash
return (/(false|f|no|n|0)$/i === param.to_s ? false : (/(true|t|yes|y|1)$/i === param.to_s ? true : nil)) if type == TrueClass || type == FalseClass || type == Boolean return (/(false|f|no|n|0)$/i === param.to_s ? false : (/(true|t|yes|y|1)$/i === param.to_s ? true : nil)) if type == TrueClass || type == FalseClass || type == :boolean
return nil return nil
rescue ArgumentError rescue ArgumentError
raise InvalidParameterError, "'#{param}' is not a valid #{type}" raise InvalidParameterError, "'#{param}' is not a valid #{type}"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment