diff options
author | Erik Dalén <dalen@spotify.com> | 2014-11-12 16:02:05 +0100 |
---|---|---|
committer | Erik Dalén <dalen@spotify.com> | 2014-11-12 16:02:05 +0100 |
commit | ce995e15d5c266fd6d7fa781284771a5a5d5b00e (patch) | |
tree | a711edba883b2df23a0b346f133ebad69fa86bff | |
parent | e61f402283774883d7b7c7d0f04dec7c457c968c (diff) |
Make the range function work with integers
This is needed for the future parser which actually treats numbers as
numbers and strings as strings. With this patch you can use range(1,5)
instead of having to quote them like range('1','5').
-rw-r--r-- | lib/puppet/parser/functions/range.rb | 2 | ||||
-rwxr-xr-x | spec/functions/range_spec.rb | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/puppet/parser/functions/range.rb b/lib/puppet/parser/functions/range.rb index 06d75d4..49fba21 100644 --- a/lib/puppet/parser/functions/range.rb +++ b/lib/puppet/parser/functions/range.rb @@ -66,7 +66,7 @@ Will return: [0,2,4,6,8] end # Check whether we have integer value if so then make it so ... - if start.match(/^\d+$/) + if start.to_s.match(/^\d+$/) start = start.to_i stop = stop.to_i else diff --git a/spec/functions/range_spec.rb b/spec/functions/range_spec.rb index 9b9ece0..1446b24 100755 --- a/spec/functions/range_spec.rb +++ b/spec/functions/range_spec.rb @@ -67,4 +67,11 @@ describe "the range function" do expect(scope.function_range(["00", "10"])).to eq expected end end + + describe 'with a numeric range' do + it "returns a range of numbers" do + expected = (1..10).to_a + expect(scope.function_range([1,10])).to eq expected + end + end end |