Revision b953c6ae
Added by Tomer Brisker about 8 years ago
app/services/foreman/parameters/caster.rb | ||
---|---|---|
if value =~ /\A[-+]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][-+]?\d+)?\Z/
|
||
value.to_f
|
||
else
|
||
cast_value_integer value
|
||
cast_integer
|
||
end
|
||
end
|
||
end
|
test/lib/parameters/caster_test.rb | ||
---|---|---|
Foreman::Parameters::Caster.new(item, :attribute_name => :foo, :to => :hash).cast!
|
||
end
|
||
end
|
||
|
||
test "caster raises TypeError on invalid real" do
|
||
item = OpenStruct.new(:foo => "blah")
|
||
assert_raises(TypeError) do
|
||
Foreman::Parameters::Caster.new(item, :attribute_name => :foo, :to => :real).cast!
|
||
end
|
||
end
|
||
end
|
||
end
|
Also available in: Unified diff
Fixes #14476 - Correctly handle casting of invalid real param values