Class: MegaBar::Site
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- MegaBar::Site
- Defined in:
- app/models/mega_bar/site.rb
Class Method Summary collapse
-
.deterministic_id(code_name) ⇒ Object
Deterministic ID generation for Sites ID range: 10000-10999.
Class Method Details
.deterministic_id(code_name) ⇒ Object
Deterministic ID generation for Sites ID range: 10000-10999
19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/models/mega_bar/site.rb', line 19 def self.deterministic_id(code_name) # Use code_name to create unique identifier identifier = code_name.to_s hash = Digest::MD5.hexdigest(identifier) base_id = 10000 + (hash.to_i(16) % 1000) # Check for collisions and increment if needed while MegaBar::Site.exists?(id: base_id) base_id += 1 break if base_id >= 11000 # Don't overflow into next range end base_id end |