From 3829e20c49652660aeac5c33f638dd19dca41f8e Mon Sep 17 00:00:00 2001 From: Reid Vandewiele Date: Sat, 29 Sep 2012 12:39:00 -0700 Subject: Allow values with spaces to be parsed and set Previously, the following stanza would fail as a result of the ini_setting type not being able to parse spaces in setting values. ini_setting { 'main_config_version': ensure => present, path => '/etc/puppetlabs/puppet/puppet.conf', section => 'main', setting => 'config_version', value => '/etc/puppetlabs/puppet/config_version.sh $environment', } This commit modifes the SETTING_REGEX to account for spaces in setting values. --- lib/puppet/util/ini_file.rb | 2 +- spec/unit/puppet/util/ini_file_spec.rb | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/puppet/util/ini_file.rb b/lib/puppet/util/ini_file.rb index 36bc8a6..b2e554f 100644 --- a/lib/puppet/util/ini_file.rb +++ b/lib/puppet/util/ini_file.rb @@ -6,7 +6,7 @@ module Util class IniFile SECTION_REGEX = /^\s*\[([\w\d\.\\\/\-\:]+)\]\s*$/ - SETTING_REGEX = /^\s*([\w\d\.\\\/\-]+)\s*=\s*([\S]+)\s*$/ + SETTING_REGEX = /^\s*([\w\d\.\\\/\-]+)\s*=\s*([\S\s]*\S)\s*$/ def initialize(path, key_val_separator = ' = ') @path = path diff --git a/spec/unit/puppet/util/ini_file_spec.rb b/spec/unit/puppet/util/ini_file_spec.rb index f30c8cd..479085e 100644 --- a/spec/unit/puppet/util/ini_file_spec.rb +++ b/spec/unit/puppet/util/ini_file_spec.rb @@ -26,6 +26,7 @@ foo= foovalue2 baz=bazvalue #another comment ; yet another comment + zot = multi word value EOS template.split("\n") } @@ -45,6 +46,7 @@ baz=bazvalue subject.get_value("section1", "bar").should == "barvalue" subject.get_value("section2", "foo").should == "foovalue2" subject.get_value("section2", "baz").should == "bazvalue" + subject.get_value("section2", "zot").should == "multi word value" end end @@ -102,4 +104,4 @@ foo=foovalue end end -end \ No newline at end of file +end -- cgit v1.2.3