Module: PublicId::Util
- Defined in:
- lib/public_id/util.rb
Class Method Summary collapse
- .generate_prefix(klass, joiner) ⇒ Object
- .generate_random_suffix(length) ⇒ Object
- .new_public_id(klass, options = {}) ⇒ Object
Class Method Details
.generate_prefix(klass, joiner) ⇒ Object
6 7 8 |
# File 'lib/public_id/util.rb', line 6 def self.generate_prefix(klass, joiner) klass.to_s.demodulize.underscore.first(3) + joiner end |
.generate_random_suffix(length) ⇒ Object
3 4 5 |
# File 'lib/public_id/util.rb', line 3 def self.generate_random_suffix(length) SecureRandom.urlsafe_base64(length) end |
.new_public_id(klass, options = {}) ⇒ Object
9 10 11 12 13 14 |
# File 'lib/public_id/util.rb', line 9 def self.new_public_id(klass, = {}) length = [:length] || 10 prefix = .fetch(:prefix, generate_prefix(klass, .fetch(:joiner, '-') )) suffix = generate_random_suffix(length) "#{prefix ? prefix : ''}#{suffix}" end |