Class: Liquidscript::Generator::Javascript

Inherits:
Base
  • Object
show all
Includes:
Exceptions, Literals, Metas, Objects
Defined in:
lib/liquidscript/generator/javascript.rb,
lib/liquidscript/generator/javascript/metas.rb,
lib/liquidscript/generator/javascript/objects.rb,
lib/liquidscript/generator/javascript/literals.rb,
lib/liquidscript/generator/javascript/exceptions.rb

Overview

A list of all of the possible codes for javascript:

  • ‘:set` ✔

  • ‘:get` ✔

  • ‘:exec` ✔

  • ‘:expression` ✔

  • ‘:class` ✔

  • ‘:module` ✔

  • ‘:property` ✔

  • ‘:call` ✔

  • ‘:number` ✔

  • ‘:sstring` ✔

  • ‘:dstring` ✔

  • ‘:object` ✔

  • ‘:array` ✔

  • ‘:function` ✔

Each one of these must have a generate function.

Defined Under Namespace

Modules: Exceptions, Literals, Metas, Objects

Constant Summary

Constants included from Literals

Literals::BINOP_SWITCH

Instance Method Summary collapse

Methods included from Exceptions

#generate_catch, #generate_finally, #generate_try

Methods included from Objects

#generate_call, #generate_class, #generate_expression, #generate_module, #generate_property

Methods included from Metas

#generate_access, #generate_else, #generate_exec, #generate_get, #generate_set

Methods included from Literals

#generate_action, #generate_array, #generate_binop, #generate_erange, #generate_for_in, #generate_for_seg, #generate_function, #generate_href, #generate_interop, #generate_istring, #generate_keyword, #generate_neg, #generate_nerange, #generate_newline, #generate_nrange, #generate_number, #generate_object, #generate_op, #generate_pos, #generate_range, #generate_regex, #generate_return, #generate_sstring, #generate_unop, #generate_variable, #generate_while

Methods inherited from Base

#buffer, #generate

Methods included from Base::Replacements

#replace, #replacements

Constructor Details

#initialize(top) ⇒ Javascript

Returns a new instance of Javascript.



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

def initialize(top)
  @modules = []
  @indent = 0
  super
end

Instance Method Details

#indent!Object



45
46
47
48
# File 'lib/liquidscript/generator/javascript.rb', line 45

def indent!
  @indent += 1
  indent
end

#indent_levelObject Also known as: indent



39
40
41
# File 'lib/liquidscript/generator/javascript.rb', line 39

def indent_level
  "  " * @indent
end

#insert_into(area, buffer) ⇒ Object



55
56
57
58
59
# File 'lib/liquidscript/generator/javascript.rb', line 55

def insert_into(area, buffer)
  area.inject(buffer) do |m, c|
    m << indent_level << replace(c) << ";\n"
  end
end

#unindent!Object



50
51
52
53
# File 'lib/liquidscript/generator/javascript.rb', line 50

def unindent!
  @indent -= 1
  indent
end