class Flagship::Context
Public Instance Methods
__set(key, value)
click to toggle source
# File lib/flagship/context.rb, line 7 def __set(key, value) current_values[key.to_sym] = value end
method_missing(name, args = [], &block)
click to toggle source
Calls superclass method
# File lib/flagship/context.rb, line 11 def method_missing(name, args = [], &block) if current_values.key?(name) value = current_values[name] if value.respond_to?(:call) value.call else value end else super end end
respond_to_missing?(name, include_private = false)
click to toggle source
Calls superclass method
# File lib/flagship/context.rb, line 25 def respond_to_missing?(name, include_private = false) current_values.key?(name) or super end
with_values(new_values, &block)
click to toggle source
# File lib/flagship/context.rb, line 29 def with_values(new_values, &block) original_values = current_values self.current_values = current_values.dup.merge(new_values) block.call ensure self.current_values = original_values end
Private Instance Methods
current_values()
click to toggle source
# File lib/flagship/context.rb, line 39 def current_values Thread.current[:__flagship_context_values] ||= {} end
current_values=(new_values)
click to toggle source
# File lib/flagship/context.rb, line 43 def current_values=(new_values) Thread.current[:__flagship_context_values] = new_values end