Module: CurrentInstance::ClassMethods
- Defined in:
- lib/current_instance/class_methods.rb
Instance Method Summary collapse
-
#current ⇒ Object
Set User.current by assigning an object: User.current = User.first User.current #=> #<User id: 1, name: “Flinn”…> User.current = nil User.current #=> nil.
- #current=(current) ⇒ Object
-
#current_id ⇒ Object
Set Food.current by id: Food.current_id #=> nil Food.current_id = 1 Food.current #=> #<Food id: 1, name: “Fondue”…> Food.current_id = nil Food.current #=> nil.
- #current_id=(current_id) ⇒ Object
Instance Method Details
#current ⇒ Object
Set User.current by assigning an object:
User.current = User.first
User.current #=> #<User id: 1, name: "Flinn"...>
User.current = nil
User.current #=> nil
25 26 27 28 29 30 31 |
# File 'lib/current_instance/class_methods.rb', line 25 def current unless current_id.blank? Thread.current[current_name] ||= self.respond_to?(:cached_find_by_id) ? cached_find_by_id(current_id) : find_by_id(current_id) end end |
#current=(current) ⇒ Object
33 34 35 36 |
# File 'lib/current_instance/class_methods.rb', line 33 def current=(current) Thread.current[current_name] = current self.current_id = current.blank? ? nil : (current.id rescue nil) end |
#current_id ⇒ Object
Set Food.current by id:
Food.current_id #=> nil
Food.current_id = 1
Food.current #=> #<Food id: 1, name: "Fondue"...>
Food.current_id = nil
Food.current #=> nil
11 12 13 |
# File 'lib/current_instance/class_methods.rb', line 11 def current_id Thread.current[current_name_id] end |
#current_id=(current_id) ⇒ Object
16 17 18 |
# File 'lib/current_instance/class_methods.rb', line 16 def current_id=(current_id) Thread.current[current_name_id] = current_id end |