78: def to_resource
79: return nil unless type = self.type
80:
81: path = self.value
82:
83: return nil unless path.is_a?(String)
84:
85:
86: path = File.join(Dir.getwd, path) unless path =~ /^\//
87:
88: return nil unless type == :directory or create_files? or File.exist?(path)
89: return nil if path =~ /^\/dev/
90:
91: resource = Puppet::Resource.new(:file, path)
92: resource[:mode] = self.mode if self.mode
93:
94: if Puppet.features.root?
95: resource[:owner] = self.owner if self.owner
96: resource[:group] = self.group if self.group
97: end
98:
99: resource[:ensure] = type
100: resource[:loglevel] = :debug
101: resource[:backup] = false
102:
103: resource.tag(self.section, self.name, "settings")
104:
105: resource
106: end