Class: Comet::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/comet-html/parser-context.rb

Direct Known Subclasses

Class

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.classesObject (readonly)

Returns the value of attribute classes.



5
6
7
# File 'lib/comet-html/parser-context.rb', line 5

def classes
  @classes
end

.element_typesObject

Returns the value of attribute element_types.



4
5
6
# File 'lib/comet-html/parser-context.rb', line 4

def element_types
  @element_types
end

.filenameObject

Returns the value of attribute filename.



4
5
6
# File 'lib/comet-html/parser-context.rb', line 4

def filename
  @filename
end

.referenced_typesObject (readonly)

Returns the value of attribute referenced_types.



5
6
7
# File 'lib/comet-html/parser-context.rb', line 5

def referenced_types
  @referenced_types
end

.repeater_countObject

Returns the value of attribute repeater_count.



4
5
6
# File 'lib/comet-html/parser-context.rb', line 4

def repeater_count
  @repeater_count
end

.slot_countObject

Returns the value of attribute slot_count.



4
5
6
# File 'lib/comet-html/parser-context.rb', line 4

def slot_count
  @slot_count
end

Class Method Details

.element_base_typeObject



24
25
26
# File 'lib/comet-html/parser-context.rb', line 24

def element_base_type
  "Comet::Element"
end

.find_cpp_type(name, options = {}) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/comet-html/parser-context.rb', line 32

def find_cpp_type name, options = {}
  if @element_types.keys.include? name
    @element_types[name]
  else
    options[:fallback] || element_base_type
  end
end

.generate_new_ref_nameObject



44
45
46
47
# File 'lib/comet-html/parser-context.rb', line 44

def generate_new_ref_name
  @implicit_ref_count += 1
  "implicit_reference_#{@implicit_ref_count}"
end

.has_cpp_type?(el) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/comet-html/parser-context.rb', line 28

def has_cpp_type? el
  @element_types.keys.include? el.name
end

.load_global_element_types(data) ⇒ Object



49
50
51
52
53
54
# File 'lib/comet-html/parser-context.rb', line 49

def load_global_element_types data
  data.each do |element_data|
    tag_name = element_data["tagName"] || element_data["require"].dasherize
    @element_types[tag_name] = element_data["require"]
  end
end

.resetObject



7
8
9
10
11
12
13
14
# File 'lib/comet-html/parser-context.rb', line 7

def reset
  @slot_count = @repeater_count = 0
  @implicit_ref_count = 0
  @classes = []
  @element_types = {}
  @referenced_types = []
  @filename = nil
end

.template_base_subtypeObject



20
21
22
# File 'lib/comet-html/parser-context.rb', line 20

def template_base_subtype
  template_base_type
end

.template_base_typeObject



16
17
18
# File 'lib/comet-html/parser-context.rb', line 16

def template_base_type
  "Comet::IBindableView"
end

.use_cpp_type(name) ⇒ Object



40
41
42
# File 'lib/comet-html/parser-context.rb', line 40

def use_cpp_type name
  @referenced_types << @element_types[name]
end

Instance Method Details

#contextObject



57
58
59
# File 'lib/comet-html/parser-context.rb', line 57

def context
  Context
end