From a80432a0961f3860c1fc0dc0540675b67aaaa4e5 Mon Sep 17 00:00:00 2001 From: trievangelist Date: Mon, 13 Jan 2014 11:56:17 -0600 Subject: [PATCH 1/2] Refactoring net_share provider to support Ruby 1.9.3+ Ruby 1.9.3 no longer provides an each method for String objects. Switching to use each_line method. @onyxmaster submitted Issue #1 providing original fix. --- modules/net_share/lib/puppet/provider/net_share/net_share.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/net_share/lib/puppet/provider/net_share/net_share.rb b/modules/net_share/lib/puppet/provider/net_share/net_share.rb index 630e238..1fcc485 100644 --- a/modules/net_share/lib/puppet/provider/net_share/net_share.rb +++ b/modules/net_share/lib/puppet/provider/net_share/net_share.rb @@ -73,7 +73,7 @@ def self.query(name) properties[:ensure] = :present - output.each do |line| + output.each_line do |line| break if line.rstrip.length == 0 last_name = name From 79766a3748b47e1181ef6121d0e6f8817e49554e Mon Sep 17 00:00:00 2001 From: trievangelist Date: Mon, 13 Jan 2014 13:30:44 -0600 Subject: [PATCH 2/2] Refactor net_share type to munge permissions correctly Permissions property on the net_share type was trying to munge an array of values using a collect method deprecated in Puppet 3.x. Changed munge block on permissions property to treat each value as a string. @onyxmaster submitted Issue #1 providing original fix. --- modules/net_share/lib/puppet/type/net_share.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/net_share/lib/puppet/type/net_share.rb b/modules/net_share/lib/puppet/type/net_share.rb index ce4171e..1a6e5f5 100644 --- a/modules/net_share/lib/puppet/type/net_share.rb +++ b/modules/net_share/lib/puppet/type/net_share.rb @@ -51,10 +51,8 @@ def property_matches?(current, desired) desc "An array of permissions. Example: ['computer\\user,full', 'computer\\user2,change', 'computer\\user3,read']" munge do |value| - value.collect do |item| - user, access = item.split(',', 2) - "#{user.strip},#{access.strip.downcase}" - end + user, access = value.split(',', 2) + "#{user.strip},#{access.strip.downcase}" end end