Method: Cuid.generate

Defined in:
lib/cuid.rb

.generateString .generate(quantity) ⇒ Array<String> .generate(quantity, secure_random) ⇒ Array<String>

Returns one or more hashes based on the parameter supplied

Overloads:

  • .generateString

    Returns one hash when called with no parameters or a parameter of 1

    Parameters:

    • quantity (optional, Integer)

      determines number of hashes returned (must be nil, 0 or 1)

    Returns:

    • (String)
  • .generate(quantity) ⇒ Array<String>

    Returns an array of hashes when called with a parameter greater than 1

    Parameters:

    • quantity (Integer)

      determines number of hashes returned (must be greater than 1)

    Returns:

    • (Array<String>)
  • .generate(quantity, secure_random) ⇒ Array<String>

    Returns an array of hashes when called with a parameter greater than 1

    Parameters:

    • quantity (Integer)

      determines number of hashes returned (must be greater than 1)

    • secure_random (Boolean)

      attempts to use SecureRandom if set to True (Ruby 1.9.2 and up; reverts to Kernel#rand if SecureRandom is not supported)

    Returns:

    • (Array<String>)


79
80
81
82
83
84
85
86
# File 'lib/cuid.rb', line 79

def generate(quantity=1,secure_random=false)
  @use_secure_random = secure_random
  @fingerprint = get_fingerprint # only need to get the fingerprint once because it is constant per-run
  return api unless quantity > 1

  values = Array(1.upto(quantity)) # create an array of the correct size
  return values.collect { api } # fill array with hashes
end