Module: Mongoid::Token::Generator
- Defined in:
- lib/mongoid/token/generator.rb
Constant Summary collapse
- REPLACE_PATTERN =
/%((?<character>[cCdDpsw]{1})(?<length>\d+(,\d+)?)?)/
Class Method Summary collapse
Class Method Details
.generate(pattern) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# 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 's' alphanumeric(length) when 'w' alpha(length) when 'p' "-" end end end |