Sha256: a53f96d5d27c5df9e33f7f92c8c8202adfc01833869218653f07ab69f3162f96

Contents?: true

Size: 1.57 KB

Versions: 14

Compression:

Stored size: 1.57 KB

Contents

class Specinfra::Command::Solaris::V10::File < Specinfra::Command::Solaris::Base::File
  class << self
    # reference: http://perldoc.perl.org/functions/stat.html
    def check_has_mode(file, mode)
      regexp = "^#{mode}$"
      "perl -e 'printf \"%o\", (stat shift)[2]&07777' #{escape(file)}  | grep -- #{escape(regexp)}"
    end

    # reference: http://perldoc.perl.org/functions/stat.html
    #            http://www.tutorialspoint.com/perl/perl_getpwuid.htm
    def check_is_owned_by(file, owner)
      regexp = "^#{owner}$"
      "perl -e 'printf \"%s\", getpwuid((stat(\"#{escape(file)}\"))[4])' | grep -- #{escape(regexp)}"
    end

    # reference: http://perldoc.perl.org/functions/stat.html
    #            http://www.tutorialspoint.com/perl/perl_getgrgid.htm
    def check_is_grouped(file, group)
      regexp = "^#{group}$"
      "perl -e 'printf \"%s\", getgrgid((stat(\"#{escape(file)}\"))[5])'  | grep -- #{escape(regexp)}"
    end

    # reference: http://www.tutorialspoint.com/perl/perl_readlink.htm
    def check_is_linked_to(link, target)
      regexp = "^#{target}$"
      "perl -e 'printf \"%s\", readlink(\"#{escape(link)}\")' | grep -- #{escape(regexp)}"
    end

    def check_contain(file, expected_pattern)
      "grep -- #{escape(expected_pattern)} #{escape(file)}"
    end

    def check_has_md5checksum(file, expected)
      "digest -a md5 -v #{escape(file)} | grep -iw -- #{escape(expected)}"
    end

    # reference: http://perldoc.perl.org/functions/stat.html
    def get_mode(file)
      "perl -e 'printf \"%o\", (stat shift)[2]&07777' #{escape(file)}"
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
specinfra-2.0.0.beta29 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta28 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta27 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta26 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta25 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta24 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta23 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta22 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta21 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta20 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta19 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta18 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta17 lib/specinfra/command/solaris/v10/file.rb
specinfra-2.0.0.beta16 lib/specinfra/command/solaris/v10/file.rb