Sha256: 173d820ca2c57e817da4d533e7585269cd2b954a05966dd5ea55e436a4f03b39

Contents?: true

Size: 550 Bytes

Versions: 70

Compression:

Stored size: 550 Bytes

Contents

# require "eitil_core/mocks/hash"

class Hash

  def self.mock(n=10)
    range = mock_size(n).to_a
    Hash[Array.mock(n) {|m| range[m] }.zip(Array.mock(n))]
  end

  private

  def self.mock_size(n)
    EitilCore::Mock.hash_range_for(n)
  end

end


module EitilCore
  module Mock

   def self.hash_range_for(n)
      range = nil
      i     = 0
      
      until range != nil do
        range = ('a'..'z') if n <= 26
        range = ('a'.."z#{'z'*i}") if n < (26 + (26 ** (i+1) )) && !range
        i += 1
      end
      range
    end

  end
end

Version data entries

70 entries across 70 versions & 1 rubygems

Version Path
eitil-2.0.8 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-2.0.7 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-2.0.6 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-2.0.5 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-2.0.4 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-2.0.3 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-2.0.2 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-2.0.1 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-2.0.0 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.4.1 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.4.0 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.3.12 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.3.11 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.3.10 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.3.9 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.3.8 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.3.7 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.3.6 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.3.5 eitil_core/lib/eitil_core/mocks/hash.rb
eitil-1.3.4 eitil_core/lib/eitil_core/mocks/hash.rb