diff options
author | TP Honey <tphoney@users.noreply.github.com> | 2015-05-05 14:35:48 +0100 |
---|---|---|
committer | TP Honey <tphoney@users.noreply.github.com> | 2015-05-05 14:35:48 +0100 |
commit | 7181e4ebcaf59cb16e7166aa254cbb637590423a (patch) | |
tree | 3b45b6b6e4ef0a249096ed827d2599e80100ec57 /lib/puppet/parser/functions/range.rb | |
parent | c7a23b226d5293e24cc52229c6162425ad473b6f (diff) | |
parent | d4f3d57f1678ae03a58a17181f863c44c248f09b (diff) |
Merge pull request #443 from DavidS/prep-work-for-new-specs
Prep work for new specs
Diffstat (limited to 'lib/puppet/parser/functions/range.rb')
-rw-r--r-- | lib/puppet/parser/functions/range.rb | 36 |
1 files changed, 6 insertions, 30 deletions
diff --git a/lib/puppet/parser/functions/range.rb b/lib/puppet/parser/functions/range.rb index 49fba21..16d189f 100644 --- a/lib/puppet/parser/functions/range.rb +++ b/lib/puppet/parser/functions/range.rb @@ -41,29 +41,9 @@ Will return: [0,2,4,6,8] raise(Puppet::ParseError, "range(): Wrong number of " + "arguments given (#{arguments.size} for 1)") if arguments.size < 1 - if arguments.size > 1 - start = arguments[0] - stop = arguments[1] - step = arguments[2].nil? ? 1 : arguments[2].to_i.abs - - type = '..' # We select simplest type for Range available in Ruby ... - - elsif arguments.size > 0 - value = arguments[0] - - if m = value.match(/^(\w+)(\.\.\.?|\-)(\w+)$/) - start = m[1] - stop = m[3] - - type = m[2] - - elsif value.match(/^.+$/) - raise(Puppet::ParseError, 'range(): Unable to compute range ' + - 'from the value given') - else - raise(Puppet::ParseError, 'range(): Unknown format of range given') - end - end + start = arguments[0] + stop = arguments[1] + step = arguments[2].nil? ? 1 : arguments[2].to_i.abs # Check whether we have integer value if so then make it so ... if start.to_s.match(/^\d+$/) @@ -74,14 +54,10 @@ Will return: [0,2,4,6,8] stop = stop.to_s 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 ... + # We select simplest type for Range available in Ruby ... + range = (start .. stop) - return result + range.step(step).collect { |i| i } # Get them all ... Pokemon ... end end |