Module: SqliteCrypto::IdTypes
- Defined in:
- lib/sqlite_crypto/id_types.rb
Constant Summary collapse
- UUID_LENGTH =
36- ULID_LENGTH =
26- TYPE_TO_LIMIT =
{ uuid: UUID_LENGTH, ulid: ULID_LENGTH }.freeze
- LIMIT_TO_TYPE =
TYPE_TO_LIMIT.invert.freeze
Class Method Summary collapse
- .string_limit_for(type) ⇒ Object
- .type_from_sql_type(sql_type) ⇒ Object
- .type_from_string_limit(limit) ⇒ Object
Class Method Details
.string_limit_for(type) ⇒ Object
16 17 18 |
# File 'lib/sqlite_crypto/id_types.rb', line 16 def string_limit_for(type) TYPE_TO_LIMIT[type] end |
.type_from_sql_type(sql_type) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/sqlite_crypto/id_types.rb', line 24 def type_from_sql_type(sql_type) case sql_type.to_s.downcase when "varchar(#{UUID_LENGTH})", "uuid" then :uuid when "varchar(#{ULID_LENGTH})", "ulid" then :ulid end end |
.type_from_string_limit(limit) ⇒ Object
20 21 22 |
# File 'lib/sqlite_crypto/id_types.rb', line 20 def type_from_string_limit(limit) LIMIT_TO_TYPE[limit] end |