Module: GlobalUid::ActiveRecordExtension::ClassMethods

Defined in:
lib/global_uid/active_record_extension.rb

Instance Method Summary collapse

Instance Method Details

#disable_global_uidObject



42
43
44
# File 'lib/global_uid/active_record_extension.rb', line 42

def disable_global_uid
  @global_uid_disabled = true
end

#enable_global_uidObject



46
47
48
# File 'lib/global_uid/active_record_extension.rb', line 46

def enable_global_uid
  @global_uid_disabled = false
end

#generate_many_uids(count) ⇒ Object



36
37
38
39
40
# File 'lib/global_uid/active_record_extension.rb', line 36

def generate_many_uids(count)
  GlobalUid::Base.with_servers do |server|
    return Array(server.allocate(self, count: count))
  end
end

#generate_uidObject



30
31
32
33
34
# File 'lib/global_uid/active_record_extension.rb', line 30

def generate_uid
  GlobalUid::Base.with_servers do |server|
    return server.allocate(self)
  end
end

#global_uid_disabledObject



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/global_uid/active_record_extension.rb', line 18

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_tableObject



50
51
52
# File 'lib/global_uid/active_record_extension.rb', line 50

def global_uid_table
  @_global_uid_table ||= GlobalUid::Base.id_table_from_name(self.table_name)
end