Sha256: 1d2b5b073cbf10edbf52dfb2a78daa11b062bfa4148adcb078e4b6ed59d88d94

Contents?: true

Size: 1.14 KB

Versions: 6

Compression:

Stored size: 1.14 KB

Contents

require 'date'

module Mocha
  module Inspect
    module ObjectMethods
      def mocha_inspect
        address = __id__ * 2
        address += 0x100000000 if address < 0
        inspect =~ /#</ ? "#<#{self.class}:0x#{Kernel.format('%x', address)}>" : inspect
      end
    end

    module ArrayMethods
      def mocha_inspect(wrapped = true)
        unwrapped = collect(&:mocha_inspect).join(', ')
        wrapped ? "[#{unwrapped}]" : unwrapped
      end
    end

    module HashMethods
      def mocha_inspect
        unwrapped = collect { |key, value| "#{key.mocha_inspect} => #{value.mocha_inspect}" }.join(', ')
        Hash.ruby2_keywords_hash?(self) ? unwrapped : "{#{unwrapped}}"
      end
    end

    module TimeMethods
      def mocha_inspect
        "#{inspect} (#{to_f} secs)"
      end
    end

    module DateMethods
      def mocha_inspect
        to_s
      end
    end
  end
end

class Object
  include Mocha::Inspect::ObjectMethods
end

class Array
  include Mocha::Inspect::ArrayMethods
end

class Hash
  include Mocha::Inspect::HashMethods
end

class Time
  include Mocha::Inspect::TimeMethods
end

class Date
  include Mocha::Inspect::DateMethods
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
fluent-plugin-google-cloud-logging-on-prem-0.1.0 vendor/ruby/3.1.0/gems/mocha-2.0.2/lib/mocha/inspect.rb
mocha-2.0.2 lib/mocha/inspect.rb
mocha-2.0.1 lib/mocha/inspect.rb
mocha-2.0.0 lib/mocha/inspect.rb
mocha-2.0.0.alpha.1 lib/mocha/inspect.rb
mocha-2.0.0.alpha lib/mocha/inspect.rb