From e61f402283774883d7b7c7d0f04dec7c457c968c Mon Sep 17 00:00:00 2001 From: Erik Dalén Date: Wed, 12 Nov 2014 15:52:33 +0100 Subject: (maint) Fix indentation of range function --- lib/puppet/parser/functions/range.rb | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'lib/puppet') diff --git a/lib/puppet/parser/functions/range.rb b/lib/puppet/parser/functions/range.rb index ffbdf84..06d75d4 100644 --- a/lib/puppet/parser/functions/range.rb +++ b/lib/puppet/parser/functions/range.rb @@ -65,21 +65,21 @@ Will return: [0,2,4,6,8] end end - # Check whether we have integer value if so then make it so ... - if start.match(/^\d+$/) - start = start.to_i - stop = stop.to_i - else - start = start.to_s - stop = stop.to_s - end + # Check whether we have integer value if so then make it so ... + if start.match(/^\d+$/) + start = start.to_i + stop = stop.to_i + else + start = start.to_s + stop = stop.to_s + end - range = case type - when /^(\.\.|\-)$/ then (start .. stop) - when /^(\.\.\.)$/ then (start ... stop) # Exclusive of last element ... - end + range = case type + when /^(\.\.|\-)$/ then (start .. stop) + when /^(\.\.\.)$/ then (start ... stop) # Exclusive of last element ... + end - result = range.step(step).collect { |i| i } # Get them all ... Pokemon ... + result = range.step(step).collect { |i| i } # Get them all ... Pokemon ... return result end -- cgit v1.2.3 From ce995e15d5c266fd6d7fa781284771a5a5d5b00e Mon Sep 17 00:00:00 2001 From: Erik Dalén Date: Wed, 12 Nov 2014 16:02:05 +0100 Subject: 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'). --- lib/puppet/parser/functions/range.rb | 2 +- spec/functions/range_spec.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'lib/puppet') 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 -- cgit v1.2.3