17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/mongoid/token/generator.rb', line 17
def self.generate(pattern)
pattern.gsub REPLACE_PATTERN do |match|
match_data = $~
type = match_data[:character]
length = [match_data[:length].to_i, 1].max
case type
when 'c'
down_character(length)
when 'C'
up_character(length)
when 'd'
digits(length)
when 'D'
integer(length)
when 'h'
digits(length, 16)
when 'H'
integer(length, 16)
when 's'
alphanumeric(length)
when 'w'
alpha(length)
when 'p'
"-"
end
end
end
|