Module: Mongoid::Userstamp
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/mongoid/userstamp.rb,
lib/mongoid/userstamp/railtie.rb,
lib/mongoid/userstamp/version.rb,
lib/mongoid/userstamp/mixins/user.rb,
lib/mongoid/userstamp/mixins/model.rb,
lib/mongoid/userstamp/config/gem_config.rb,
lib/mongoid/userstamp/config/user_config.rb,
lib/mongoid/userstamp/config/model_config.rb
Defined Under Namespace
Modules: ClassMethods, Model, User
Classes: GemConfig, ModelConfig, Railtie, UserConfig
Constant Summary
collapse
- VERSION =
'0.4.0'
Class Method Summary
collapse
Class Method Details
.add_model_class(model) ⇒ Object
55
56
57
58
|
# File 'lib/mongoid/userstamp.rb', line 55
def add_model_class(model)
@model_classes ||= []
@model_classes << model
end
|
.add_user_class(user) ⇒ Object
64
65
66
67
|
# File 'lib/mongoid/userstamp.rb', line 64
def add_user_class(user)
@user_classes ||= []
@user_classes << user
end
|
31
32
33
34
|
# File 'lib/mongoid/userstamp.rb', line 31
def configure(&block)
warn 'Mongoid::Userstamp.configure is deprecated. Please use Mongoid::Userstamp.config instead'
config(&block)
end
|
.current_user(user_class = nil) ⇒ Object
36
37
38
39
|
# File 'lib/mongoid/userstamp.rb', line 36
def current_user(user_class = nil)
user_class ||= user_classes.first
store[userstamp_key(user_class)]
end
|
.current_user=(value) ⇒ Object
41
42
43
|
# File 'lib/mongoid/userstamp.rb', line 41
def current_user=(value)
set_current_user(value)
end
|
.model_classes ⇒ Object
51
52
53
|
# File 'lib/mongoid/userstamp.rb', line 51
def model_classes
(@model_classes || []).map{|c| c.is_a?(Class) ? c : c.to_s.classify.constantize }
end
|
.set_current_user(value, user_class = nil) ⇒ Object
It is better to provide the user class, in case the value is nil.
46
47
48
49
|
# File 'lib/mongoid/userstamp.rb', line 46
def set_current_user(value, user_class = nil)
user_class ||= value ? value.class : user_classes.first
store[userstamp_key(user_class)] = value
end
|
.store ⇒ Object
73
74
75
|
# File 'lib/mongoid/userstamp.rb', line 73
def store
defined?(RequestStore) ? RequestStore.store : Thread.current
end
|
.user_classes ⇒ Object
60
61
62
|
# File 'lib/mongoid/userstamp.rb', line 60
def user_classes
(@user_classes || []).map{|c| c.is_a?(Class) ? c : c.to_s.classify.constantize }
end
|
.userstamp_key(model) ⇒ Object
69
70
71
|
# File 'lib/mongoid/userstamp.rb', line 69
def userstamp_key(model)
"mongoid_userstamp/#{model.to_s.underscore}".to_sym
end
|