summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2014-05-23 15:00:21 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2014-05-29 10:30:29 -0700
commit92d0e591537d9bdeea07df866bc9cb467942b83e (patch)
tree55396fb2cc9c533a6660ecf23e10d0e56faf5ce4
parent2252c6a3147465dd35b0965580d4215a507359b4 (diff)
downloadchef-92d0e591537d9bdeea07df866bc9cb467942b83e.tar.gz
syntax: remove do
-rw-r--r--lib/chef/provider/mount/solaris.rb26
1 files changed, 19 insertions, 7 deletions
diff --git a/lib/chef/provider/mount/solaris.rb b/lib/chef/provider/mount/solaris.rb
index f39e4034c2..7a880621a7 100644
--- a/lib/chef/provider/mount/solaris.rb
+++ b/lib/chef/provider/mount/solaris.rb
@@ -28,6 +28,8 @@ class Chef
class Solaris < Chef::Provider::Mount
include Chef::Mixin::ShellOut
+ def_delegator :@new_resource, :device, :device
+
def initialize(new_resource, run_context)
if new_resource.device_type == :device
Chef::Log.error("Mount resource can only be of of device_type ':device' on Solaris")
@@ -43,7 +45,7 @@ class Chef
current_resource.enabled(enabled?)
end
- def define_resource_requirements do
+ def define_resource_requirements
requirements.assert(:mount, :remount) do |a|
a.assertion { !device_should_exist? || ::File.exists?(new_resource.device) }
a.failure_message(Chef::Exceptions::Mount, "Device #{new_resource.device} does not exist")
@@ -84,14 +86,24 @@ class Chef
disable_fs if current_resource.enabled
end
+ auto = new_resource.options.nil? || ! new_resource.options.include?("noauto")
+ actual_options = unless new_resource.options.nil?
+ new_resource.options.delete("noauto")
+ new_resource.options
+ end
+
+ autostr = auto ? 'yes' : 'no'
+ passstr = new_resource.pass == 0 ? "-" : new_resource.pass
+ optstr = actual_options.nil? || actual_options.empty?) ? "-" : actual_options.join(',')
+
# FIXME: open a tempfile, write to it, close it, then rename it.
+ tempfile = Tempfile.new("vfstab", "etc")
+ tempfile.write(IO.read("/etc/vfstab"))
+ tempfile.puts("#{new_resource.device}\t-\t#{new_resource.mount_point}\t#{new_resource.fstype}\t#{passstr}\t#{autostr}\t#{optstr}")
+ tempfile.close
+ FileUtils.mv tempfile.path, "/etc/fstab"
+
::File.open("/etc/vfstab", "a") do |fstab|
- auto = new_resource.options.nil? || ! new_resource.options.include?("noauto")
- actual_options = unless new_resource.options.nil?
- new_resource.options.delete("noauto")
- new_resource.options
- end
- fstab.puts("#{new_resource.device}\t-\t#{new_resource.mount_point}\t#{new_resource.fstype}\t#{new_resource.pass == 0 ? "-" : new_resource.pass}\t#{ auto ? :yes : :no }\t #{(actual_options.nil? || actual_options.empty?) ? "-" : actual_options.join(',')}")
end
end