Class: Liquidscript::Scanner::Base::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/liquidscript/scanner/base/builder.rb

Constant Summary collapse

EMPTY_VALUE =
Object.new

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#contextsObject (readonly)

Returns the value of attribute contexts.



10
11
12
# File 'lib/liquidscript/scanner/base/builder.rb', line 10

def contexts
  @contexts
end

Instance Method Details

#context(name) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/liquidscript/scanner/base/builder.rb', line 24

def context(name)
  case name
  when Symbol
    context = Context.new(name)
    context.instance_exec(&Proc.new)
    contexts << context
  when Module
    name.contexts.each do |context|
      contexts << context
    end
  end
end

#default_context(value = EMPTY_VALUE) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/liquidscript/scanner/base/builder.rb', line 12

def default_context(value = EMPTY_VALUE)
  if value.equal? EMPTY_VALUE
    @default_context
  else
    @default_context = value
  end
end

#reset!Object



37
38
39
40
41
# File 'lib/liquidscript/scanner/base/builder.rb', line 37

def reset!
  @default_context = nil
  @contexts = nil
  self
end