summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Vandewiele <reid@puppetlabs.com>2012-09-29 12:39:00 -0700
committerReid Vandewiele <reid@puppetlabs.com>2012-09-29 12:39:00 -0700
commit3829e20c49652660aeac5c33f638dd19dca41f8e (patch)
tree952a5cac41530e0f5a1a7665f1a792a8df5143f5
parente81a69adb5049f1b8fb433b3f37d82a4bb69d573 (diff)
downloadpuppet-inifile-3829e20c49652660aeac5c33f638dd19dca41f8e.tar.gz
puppet-inifile-3829e20c49652660aeac5c33f638dd19dca41f8e.tar.bz2
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.
-rw-r--r--lib/puppet/util/ini_file.rb2
-rw-r--r--spec/unit/puppet/util/ini_file_spec.rb4
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