Module: EffDiceware

Defined in:
lib/eff_diceware.rb,
lib/eff_diceware/version.rb

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.generate(n = 5) ⇒ Object

Raises:

  • (ArgumentError)


8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/eff_diceware.rb', line 8

def generate(n = 5)
  raise ArgumentError, "n must be greater than 0" unless n > 0

  wordlist do |list|
    words = n.times.map do
      key = 5.times.map{ roll }.join
      list.grep(/^#{key}/)[0].split("\t")[1]
    end

    words.join(" ")
  end
end

.rollObject



21
22
23
# File 'lib/eff_diceware.rb', line 21

def roll
  1 + SecureRandom.random_number(6)
end