Module: Uniqueness
- Defined in:
- lib/uniqueness/model.rb,
lib/uniqueness/engine.rb,
lib/uniqueness/version.rb,
lib/uniqueness/generator.rb
Defined Under Namespace
Modules: Model Classes: Engine
Constant Summary collapse
- VERSION =
'0.7.0'.freeze
Class Method Summary collapse
- .generate(opts = {}) ⇒ Object
- .uniqueness_ambigious_dictionary ⇒ Object
-
.uniqueness_default_options ⇒ Object
Default sorting options.
-
.uniqueness_dictionary ⇒ Object
Dictionary used for uniqueness generation.
Class Method Details
.generate(opts = {}) ⇒ Object
3 4 5 6 7 8 9 10 |
# File 'lib/uniqueness/generator.rb', line 3 def generate(opts = {}) ||= {} = .merge(opts) dict = uniqueness_dictionary - [:blacklist] dict -= [*(:A..:Z)].map(&:to_s) unless [:case_sensitive] dict -= uniqueness_ambigious_dictionary if [:type].to_sym == :human Array.new([:length]).map { dict[rand(dict.length)] }.join end |
.uniqueness_ambigious_dictionary ⇒ Object
17 18 19 |
# File 'lib/uniqueness/generator.rb', line 17 def uniqueness_ambigious_dictionary [:b, :B, :o, :O, :q, :i, :I, :l, :L, :s, :S, :u, :U, :z, :Z, :g, 1, 2, 9, 5].map(&:to_s) end |
.uniqueness_default_options ⇒ Object
Default sorting options
22 23 24 25 26 27 28 29 |
# File 'lib/uniqueness/generator.rb', line 22 def { length: 32, type: :auto, blacklist: [], scope: [] } end |
.uniqueness_dictionary ⇒ Object
Dictionary used for uniqueness generation
13 14 15 |
# File 'lib/uniqueness/generator.rb', line 13 def uniqueness_dictionary [*(:A..:Z), *(:a..:z), *(0..9)].map(&:to_s) end |