Module: Liquidscript::Generator::Javascript::Metas

Included in:
Liquidscript::Generator::Javascript
Defined in:
lib/liquidscript/generator/javascript/metas.rb

Instance Method Summary collapse

Instance Method Details

#generate_access(code) ⇒ Object



30
31
32
# File 'lib/liquidscript/generator/javascript/metas.rb', line 30

def generate_access(code)
  "#{replace code[1]}[#{replace code[2]}]"
end

#generate_else(code) ⇒ Object



58
59
60
61
62
63
64
65
# File 'lib/liquidscript/generator/javascript/metas.rb', line 58

def generate_else(code)
  part = buffer
  part << " else {\n"
  indent!
  insert_into(code[1], part)
  unindent!
  part << indent_level << "}"
end

#generate_exec(code, options) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/liquidscript/generator/javascript/metas.rb', line 6

def generate_exec(code, options)
  exec = buffer
  return exec if code.codes.length == 0
  exec << _exec_context(code)
  insert_into(code.codes[0..-2], exec)
  last = code.codes.last

  if last.value? && options[:final_return]
    exec << indent << "return #{replace(last)};\n"
  else
    exec << indent << replace(last) << ";\n"
  end
end

#generate_get(code) ⇒ Object



34
35
36
# File 'lib/liquidscript/generator/javascript/metas.rb', line 34

def generate_get(code)
  "#{code[1].name}"
end

#generate_set(code) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/liquidscript/generator/javascript/metas.rb', line 20

def generate_set(code)
  case code[1].type
  when :variable
    "#{code[1].name} = #{replace code[2]}"
  when :property, :access
    "#{replace code[1]} = #{replace code[2]}"

  end
end