diff options
author | Josh Cooper <josh@puppetlabs.com> | 2011-04-26 14:16:17 -0700 |
---|---|---|
committer | Josh Cooper <josh@puppetlabs.com> | 2011-04-26 14:16:17 -0700 |
commit | ddc4e148689233058827f32832195daa935a99e2 (patch) | |
tree | d2703076d0f97eb053030059e673dd957304451f | |
parent | 2cce3265885578910154854cf80ceb4d48ac631f (diff) | |
parent | f656818bcd7cb88f24f6c578790771952120b1cc (diff) | |
download | puppet-ddc4e148689233058827f32832195daa935a99e2.tar.gz puppet-ddc4e148689233058827f32832195daa935a99e2.tar.xz puppet-ddc4e148689233058827f32832195daa935a99e2.zip |
Merge branch 'tickets/2.6.next/4487' into 2.6.next
-rw-r--r-- | lib/puppet/rails/host.rb | 7 | ||||
-rwxr-xr-x | spec/unit/rails/host_spec.rb | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/puppet/rails/host.rb b/lib/puppet/rails/host.rb index b9dea2a3d..e5360217c 100644 --- a/lib/puppet/rails/host.rb +++ b/lib/puppet/rails/host.rb @@ -1,3 +1,4 @@ +require 'puppet/node/environment' require 'puppet/rails' require 'puppet/rails/resource' require 'puppet/rails/fact_name' @@ -28,6 +29,12 @@ class Puppet::Rails::Host < ActiveRecord::Base host end + # Override the setter for environment to force it to be a string, lest it + # be YAML encoded. See #4487. + def environment=(value) + super value.to_s + end + # returns a hash of fact_names.name => [ fact_values ] for this host. # Note that 'fact_values' is actually a list of the value instances, not # just actual values. diff --git a/spec/unit/rails/host_spec.rb b/spec/unit/rails/host_spec.rb index 4244f117f..b413a16b8 100755 --- a/spec/unit/rails/host_spec.rb +++ b/spec/unit/rails/host_spec.rb @@ -2,6 +2,8 @@ require File.dirname(__FILE__) + '/../../spec_helper' +require 'puppet/node/environment' + describe "Puppet::Rails::Host", :if => Puppet.features.rails? do def column(name, type) ActiveRecord::ConnectionAdapters::Column.new(name, nil, type, false) @@ -43,6 +45,12 @@ describe "Puppet::Rails::Host", :if => Puppet.features.rails? do Puppet::Rails::Host.from_puppet(@node) end + it "should stringify the environment" do + host = Puppet::Rails::Host.new + host.environment = Puppet::Node::Environment.new("production") + host.environment.class.should == String + end + it "should copy the ipaddress from the Puppet instance" do Puppet::Rails::Host.expects(:find_by_name).with("foo").returns @host |