Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module ThreadLocalExtension
- protected
- def self.included(base)
- base.extend ClassMethods
- end
- module ClassMethods
- def thread_local(name)
- klass, name = self.to_s, name.to_s
- (class << self; self end).send(:define_method, name, Proc.new do
- Thread.current["__#{klass}_#{name}__".intern]
- end)
- (class << self; self end).send(:define_method, name + "=", Proc.new do |value|
- Thread.current["__#{klass}_#{name}__".intern] = value
- end)
- end
- end
- end
Add Comment
Please, Sign In to add comment