Sha256: 95d8a94dcdcb896abe24ca65ca6e69321d6353e572bb23121d131eb46b5f916c

Contents?: true

Size: 916 Bytes

Versions: 2

Compression:

Stored size: 916 Bytes

Contents

class Cronicle::Utils
  class << self
    def regexp_union(list)
      return nil if list.nil?
      return list if list.kind_of?(Regexp)

      list = Array(list)
      return nil if list.empty?

      Regexp.union(list.map {|str_or_reg|
        if str_or_reg.kind_of?(Regexp)
          str_or_reg
        else
          /\A#{str_or_reg}\z/
        end
      })
    end

    IPADDR_REGEXP = /\A\d+(?:\.\d+){3}\z/

    def short_hostname(hostname)
      if hostname =~ IPADDR_REGEXP
        hostname
      else
        hostname.split('.').first
      end
    end

    def sed_escape(cmd)
      cmd.gsub('/', '\\/')
    end

    def remove_prompt!(str)
      str.sub!(/\A[^:]*:\s*/, '')
    end

    def diff(file1, file2)
      file1 = file1.chomp + "\n"
      file2 = file2.chomp + "\n"
      Diffy::Diff.new(file1, file2, :context => 3, :include_diff_info => true).to_s(:text)
    end
  end # of class methods
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cronicle-0.2.5 lib/cronicle/utils.rb
cronicle-0.2.4 lib/cronicle/utils.rb