diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/provider/newfile/default.rb | 89 | ||||
-rw-r--r-- | lib/puppet/type/newfile.rb | 38 | ||||
-rw-r--r-- | lib/puppet/util/state_machine.rb | 52 |
3 files changed, 0 insertions, 179 deletions
diff --git a/lib/puppet/provider/newfile/default.rb b/lib/puppet/provider/newfile/default.rb deleted file mode 100644 index 4da98718f..000000000 --- a/lib/puppet/provider/newfile/default.rb +++ /dev/null @@ -1,89 +0,0 @@ -Puppet::Type.type(:newfile).provide(:default) do - # Remove the file. - def destroy - end - - # Does the file currently exist? - def exist? - ! stat.nil? - end - - def content - return :absent unless exist? - begin - File.read(name) - rescue => detail - fail "Could not read %s: %s" % [name, detail] - end - end - - def content=(value) - File.open(name, "w") { |f| f.print value } - end - - def flush - @stat = nil - end - - def group - return :absent unless exist? - stat.gid - end - - def group=(value) - File.chown(nil, value, name) - end - - def mkdir - begin - Dir.mkdir(name) - rescue Errno::ENOENT - fail "Cannot create %s; parent directory does not exist" % name - rescue => detail - fail "Could not create directory %s: %s" % [name, detail] - end - end - - def mkfile - end - - def mklink - end - - def mode - return :absent unless exist? - stat.mode & 007777 - end - - def mode=(value) - File.chmod(value, name) - end - - def owner - return :absent unless exist? - stat.uid - end - - def owner=(value) - File.chown(value, nil, name) - end - - def type - return :absent unless exist? - stat.ftype - end - - private - - def stat - unless defined?(@stat) and @stat - begin - @stat = File.stat(name) - # Map the property names to the stat values, yo. - rescue Errno::ENOENT - @stat = nil - end - end - @stat - end -end diff --git a/lib/puppet/type/newfile.rb b/lib/puppet/type/newfile.rb deleted file mode 100644 index e8763748d..000000000 --- a/lib/puppet/type/newfile.rb +++ /dev/null @@ -1,38 +0,0 @@ -Puppet::Type.newtype(:newfile) do - newparam(:path, :namevar => true) do - desc "The file path." - end - - newproperty(:ensure) do - desc "What type the file should be." - - newvalue(:absent) { provider.destroy } - newvalue(:file) { provider.mkfile } - newvalue(:directory) {provider.mkdir } - newvalue(:link) {provider.mklink} - - def retrieve - provider.type - end - end - - newproperty(:content) do - desc "The file content." - end - - newproperty(:owner) do - desc "The file owner." - end - - newproperty(:group) do - desc "The file group." - end - - newproperty(:mode) do - desc "The file mode." - end - - newproperty(:type) do - desc "The read-only file type." - end -end diff --git a/lib/puppet/util/state_machine.rb b/lib/puppet/util/state_machine.rb deleted file mode 100644 index 9329df3ce..000000000 --- a/lib/puppet/util/state_machine.rb +++ /dev/null @@ -1,52 +0,0 @@ -require 'puppet/util' - -# A simple class for defining simple state machines. You define -# the state transitions, which translate to the states a given property -# can be in and the methods used to transition between those states. -# -# == Example -# -# newproperty(:ensure) do -# -# :absent => :present (:create) -# -# statemachine.new(:create => {:absent => :present}, :destroy => {:present => :absent}) -# -# mach.transition(:absent => :present).with :create -# mach.transition(:present => :absent).with :destroy -# -# mach.transition :create => {:absent => :present}, :destroy => {:present => :absent} - -require 'puppet/simple_graph' -require 'puppet/relationship' - -class Puppet::Util::StateMachine - class Transition < Puppet::Relationship - end - - def initialize(&block) - @graph = Puppet::SimpleGraph.new - @docs = {} - - instance_eval(&block) if block - end - - # Define a state, with docs. - def state(name, docs) - @docs[name] = docs - @graph.add_vertex(name) - end - - # Check whether a state is defined. - def state?(name) - @graph.vertex?(name) - end - - def transition(from, to) - raise ArgumentError, "Unknown starting state %s" % from unless state?(from) - raise ArgumentError, "Unknown ending state %s" % to unless state?(to) - raise ArgumentError, "Transition %s => %s already exists" % [from, to] if @graph.edge?(from, to) - transition = Transition.new(from, to) - @graph.add_edge(transition) - end -end |