Module: PersonalWordlist::DSL

Included in:
PersonalWordlist, Sequence
Defined in:
lib/personal_wordlist/dsl.rb,
lib/personal_wordlist/dsl/partial.rb,
lib/personal_wordlist/dsl/sequence.rb

Overview

DSL Syntax Methods

Defined Under Namespace

Classes: Partial, Sequence

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name) ⇒ Object

Map unknown methods to known keys of the input hash



19
20
21
22
# File 'lib/personal_wordlist/dsl.rb', line 19

def method_missing(name)
  return @personal_data[name.to_sym] if @personal_data.key?(name)
  fail NoMethodError
end

Instance Method Details

#partial(arg = nil, &block) ⇒ Object



7
8
9
10
11
# File 'lib/personal_wordlist/dsl.rb', line 7

def partial(arg = nil, &block)
  # Either string or block must exist
  fail ArgumentError unless !arg.nil? ^ block_given?
  @current_password += Partial.new(@personal_data, block, arg).run!
end

#sequence(range, &block) ⇒ Object



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

def sequence(range, &block)
  fail ArgumentError unless block_given?
  @passwords.concat Sequence.new(@personal_data, block, range).run!
end