Sha256: ec3edaa5a60b3f87f44b717e0896fe8717c4f3e2eb5719dac373c6edf2dfeb69

Contents?: true

Size: 928 Bytes

Versions: 5

Compression:

Stored size: 928 Bytes

Contents

# encoding: utf-8
class String
  def is_integer?
    begin
      temp = self.to_i.to_s
      return false if temp == "0"
      Integer(temp)
      return true
    rescue ArgumentError
      return false
    end
  end
end
class Integer
  def to_filesize
    {
      'B'  => 1024,
      'KB' => 1024 * 1024,
      'MB' => 1024 * 1024 * 1024,
      'GB' => 1024 * 1024 * 1024 * 1024,
      'TB' => 1024 * 1024 * 1024 * 1024 * 1024
    }.each_pair { |e, s| return "#{(self.to_f / (s / 1024)).round(2)} #{e}" if self < s }
  end
end
class Object
  def blank?
    respond_to?(:empty?) ? !!empty? : !self
  end
end
class Hash
  def deep_diff(b)
    a = self
    (a.keys | b.keys).inject({}) do |diff, k|
      if a[k] != b[k]
        if a[k].respond_to?(:deep_diff) && b[k].respond_to?(:deep_diff)
          diff[k] = a[k].deep_diff(b[k])
        else
          diff[k] = [a[k], b[k]]
        end
      end
      diff
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ayadn-4.0.3 lib/ayadn/extend.rb
ayadn-4.0.2 lib/ayadn/extend.rb
ayadn-4.0.1 lib/ayadn/extend.rb
ayadn-4.0 lib/ayadn/extend.rb
ayadn-3.0 lib/ayadn/extend.rb