Module: GlobalUid::ActiveRecordExtension::ClassMethods
- Defined in:
- lib/global_uid/active_record_extension.rb
Instance Method Summary collapse
- #disable_global_uid ⇒ Object
- #enable_global_uid ⇒ Object
- #ensure_global_uid_table ⇒ Object
- #generate_many_uids(count, options = {}) ⇒ Object
- #generate_uid(options = {}) ⇒ Object
- #global_uid_disabled ⇒ Object
- #global_uid_table ⇒ Object
Instance Method Details
#disable_global_uid ⇒ Object
50 51 52 |
# File 'lib/global_uid/active_record_extension.rb', line 50 def disable_global_uid @global_uid_disabled = true end |
#enable_global_uid ⇒ Object
54 55 56 |
# File 'lib/global_uid/active_record_extension.rb', line 54 def enable_global_uid @global_uid_disabled = false end |
#ensure_global_uid_table ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/global_uid/active_record_extension.rb', line 62 def ensure_global_uid_table return @global_uid_table_exists if defined?(@global_uid_table_exists) && @global_uid_table_exists GlobalUid::Base.with_connections do |connection| if ActiveRecord::VERSION::MAJOR >= 5 raise "Global UID table #{global_uid_table} not found!" unless connection.schema_cache.data_source_exists?(global_uid_table.to_s) else raise "Global UID table #{global_uid_table} not found!" unless connection.schema_cache.table_exists?(global_uid_table.to_s) end end @global_uid_table_exists = true end |
#generate_many_uids(count, options = {}) ⇒ Object
45 46 47 48 |
# File 'lib/global_uid/active_record_extension.rb', line 45 def generate_many_uids(count, = {}) ensure_global_uid_table GlobalUid::Base.get_many_uids_for_class(self, count, ) end |
#generate_uid(options = {}) ⇒ Object
40 41 42 43 |
# File 'lib/global_uid/active_record_extension.rb', line 40 def generate_uid( = {}) ensure_global_uid_table GlobalUid::Base.get_uid_for_class(self, ) end |
#global_uid_disabled ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/global_uid/active_record_extension.rb', line 28 def global_uid_disabled if !defined?(@global_uid_disabled) || @global_uid_disabled.nil? if superclass.respond_to?(:global_uid_disabled) @global_uid_disabled = superclass.send(:global_uid_disabled) else @global_uid_disabled = false end end @global_uid_disabled end |
#global_uid_table ⇒ Object
58 59 60 |
# File 'lib/global_uid/active_record_extension.rb', line 58 def global_uid_table GlobalUid::Base.id_table_from_name(self.table_name) end |