Class: CodeSunset::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/code_sunset/context.rb

Constant Summary collapse

THREAD_KEY =
:code_sunset_context_stack

Class Method Summary collapse

Class Method Details

.current ⇒ Object



6
7
8
# File 'lib/code_sunset/context.rb', line 6

def current
  stack.last.deep_dup
end

.pop ⇒ Object



14
15
16
17
# File 'lib/code_sunset/context.rb', line 14

def pop
  stack.pop if stack.size > 1
  current
end

.push(context) ⇒ Object



10
11
12
# File 'lib/code_sunset/context.rb', line 10

def push(context)
  stack << merge(current, normalize(context))
end

.with(context) ⇒ Object



19
20
21
22
23
24
# File 'lib/code_sunset/context.rb', line 19

def with(context)
  push(context)
  yield
ensure
  pop
end