Module: Mongoid::Userstamps::Config

Defined in:
lib/mongoid/userstamps/config.rb,
lib/mongoid/userstamps/config/user.rb,
lib/mongoid/userstamps/config/model.rb

Defined Under Namespace

Classes: Model, User

Constant Summary collapse

DEFAULT_CREATED_NAME =
:created_by
DEFAULT_UPDATED_NAME =
:updated_by
DEFAULT_DELETED_NAME =
:deleted_by

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.created_nameObject



33
34
35
# File 'lib/mongoid/userstamps/config.rb', line 33

def created_name
  @created_name ||= DEFAULT_CREATED_NAME
end

.deleted_nameObject



45
46
47
# File 'lib/mongoid/userstamps/config.rb', line 45

def deleted_name
  @deleted_name ||= DEFAULT_DELETED_NAME
end

.updated_nameObject



39
40
41
# File 'lib/mongoid/userstamps/config.rb', line 39

def updated_name
  @updated_name ||= DEFAULT_UPDATED_NAME
end

Class Method Details

.add_model_class(klass) ⇒ Object



27
28
29
# File 'lib/mongoid/userstamps/config.rb', line 27

def add_model_class(klass)
  model_classes << klass
end

.add_user_class(klass) ⇒ Object



16
17
18
19
20
21
# File 'lib/mongoid/userstamps/config.rb', line 16

def add_user_class(klass)
  user_classes << klass
  model_classes.each do |model|
    model.userstamps_model.set_user_model!
  end
end

.current_user(user_class) ⇒ Object



49
50
51
# File 'lib/mongoid/userstamps/config.rb', line 49

def current_user(user_class)
  store(user_class)
end

.model_classesObject



23
24
25
# File 'lib/mongoid/userstamps/config.rb', line 23

def model_classes
  @model_classes ||= []
end

.resetObject



68
69
70
71
72
# File 'lib/mongoid/userstamps/config.rb', line 68

def reset
  @created_name = DEFAULT_CREATED_NAME
  @updated_name = DEFAULT_UPDATED_NAME
  @deleted_name = DEFAULT_DELETED_NAME
end

.set_current_user(user_class, value) ⇒ Object



53
54
55
# File 'lib/mongoid/userstamps/config.rb', line 53

def set_current_user(user_class, value)
  store(user_class, value)
end

.store(model, value = false) ⇒ Object



57
58
59
60
61
62
63
64
65
66
# File 'lib/mongoid/userstamps/config.rb', line 57

def store(model, value = false)
  return unless model
  key = "mongoid-userstamps/#{model.to_s.underscore}".to_sym
  store = defined?(RequestStore) ? RequestStore.store : Thread.current
  if value == false
    store[key]
  else
    store[key] = value
  end
end

.user_classesObject



12
13
14
# File 'lib/mongoid/userstamps/config.rb', line 12

def user_classes
  @user_classes ||= []
end