Module: PersonalWordlist

Extended by:
DSL
Defined in:
lib/personal_wordlist.rb,
lib/personal_wordlist/dsl.rb,
lib/personal_wordlist/version.rb,
lib/personal_wordlist/dsl/partial.rb,
lib/personal_wordlist/dsl/sequence.rb

Overview

A wordlist generator. Uses simple DSL to define password generation rules.

Defined Under Namespace

Modules: DSL Classes: InvalidTemplateError, PersonalWordlistError

Constant Summary collapse

VERSION =
'0.1.1'

Class Attribute Summary collapse

Class Method Summary collapse

Methods included from DSL

method_missing, partial, sequence

Class Attribute Details

.current_passwordObject (readonly)

Returns the value of attribute current_password.



13
14
15
# File 'lib/personal_wordlist.rb', line 13

def current_password
  @current_password
end

Class Method Details

.generate(personal_data, &block) ⇒ Object

PersonalWorlList.password



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/personal_wordlist.rb', line 17

def generate(personal_data, &block)
  fail ArgumentError unless block_given?

  # Set class variables
  @personal_data = personal_data
  @block = block
  @current_password = ''
  @passwords = []

  result = instance_eval(&block)

  # Ensure that result is always an Array
  result.instance_of?(Array) ? @passwords = result : @passwords << result
end