Module: SpaceCadetActiveRecordUuid
- Included in:
- SpaceCadetUuid
- Defined in:
- lib/space_cadet_active_record_uuid.rb
Constant Summary collapse
- ID_RETRY_COUNT =
10
Instance Method Summary collapse
- #add_uuid(uuid_class, source_id, source_name, space_id, uuid) ⇒ Object
- #space_id_add_uuid(uuid_class, source_id, source_name, id_bit_count) ⇒ Object
- #uuid_create(uuid_class, source_id, source_name, id_bit_count) ⇒ Object
Instance Method Details
#add_uuid(uuid_class, source_id, source_name, space_id, uuid) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/space_cadet_active_record_uuid.rb', line 9 def add_uuid uuid_class, source_id, source_name, space_id, uuid uuid_class.create! do |u| u.source_id = source_id u.source_name = source_name u.space_id = space_id u.uuid = uuid end end |
#space_id_add_uuid(uuid_class, source_id, source_name, id_bit_count) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/space_cadet_active_record_uuid.rb', line 18 def space_id_add_uuid uuid_class, source_id, source_name, id_bit_count uuid = SecureRandom.uuid space_id = space_id_from_uuid uuid, id_bit_count record = nil begin record = add_uuid uuid_class, source_id, source_name, space_id, uuid rescue record = nil end record end |
#uuid_create(uuid_class, source_id, source_name, id_bit_count) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/space_cadet_active_record_uuid.rb', line 32 def uuid_create uuid_class, source_id, source_name, id_bit_count record = nil retry_count = 0 while !record && retry_count < ID_RETRY_COUNT do record = space_id_add_uuid uuid_class, source_id, source_name, id_bit_count end end |