module Sprinkle module Verifiers # = Symlink Verifier # # Contains a verifier to check the existance of a symbolic link. # # == Example Usage # # First, checking for the existence of a symlink: # # verify { has_symlink '/usr/special/secret/pointer' } # # Second, checking that the symlink points to a specific place: # # verify { has_symlink '/usr/special/secret/pointer', '/usr/local/realfile' } module Symlink Sprinkle::Verify.register(Sprinkle::Verifiers::Symlink) # Checks that symlink is a symbolic link. If file is # given, it checks that symlink points to file def has_symlink(symlink, file = nil) if RUBY_PLATFORM =~ /win32/ raise NotImplementedError, "Win32 platform does not support checking for symbolic links" else if file.nil? @commands << "test -L #{symlink}" else @commands << "test '#{file}' = `readlink #{symlink}`" end end end end end end