Module: Liquidscript::Generator::Javascript::Literals

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

Instance Method Summary collapse

Instance Method Details

#generate_array(code) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/liquidscript/generator/javascript/literals.rb', line 37

def generate_array(code)

  array = buffer
  array.set_join! ', '

  code[1].inject(array) do |a, p|
    a << replace(p)
  end

  "[#{array}]"
end

#generate_dstring(code) ⇒ Object



11
12
13
14
# File 'lib/liquidscript/generator/javascript/literals.rb', line 11

def generate_dstring(code)

  "\"#{code.first.gsub(/"/, '\\"')}\""
end

#generate_function(code) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/liquidscript/generator/javascript/literals.rb', line 49

def generate_function(code)

  function = buffer

  function                       <<
    "function("                  <<
    code[1].parameters.join(',') <<
    ') {'                        <<
    replace(code[1])             <<
    '}'
end

#generate_keyword(code) ⇒ Object



21
22
23
# File 'lib/liquidscript/generator/javascript/literals.rb', line 21

def generate_keyword(code)
  " #{code[1].value} #{replace(code[2])}"
end

#generate_number(code) ⇒ Object



6
7
8
9
# File 'lib/liquidscript/generator/javascript/literals.rb', line 6

def generate_number(code)

  "#{code.first}"
end

#generate_object(code) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/liquidscript/generator/javascript/literals.rb', line 25

def generate_object(code)

  object = buffer
  object.set_join! ', '

  code[1].inject(object) do |buf, part|
    buf << "\"#{part[0].value}\": #{replace(part[1])}"
  end

  "{#{object}}"
end

#generate_sstring(code) ⇒ Object



16
17
18
19
# File 'lib/liquidscript/generator/javascript/literals.rb', line 16

def generate_sstring(code)

  "'#{code.first.gsub(/'/, "\\'")}'"
end