Class: LintFu::ModelElementBuilder

Inherits:
SexpProcessor
  • Object
show all
Defined in:
lib/lint_fu/model_element_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(namespace = nil) ⇒ ModelElementBuilder

Returns a new instance of ModelElementBuilder.



5
6
7
8
9
10
11
# File 'lib/lint_fu/model_element_builder.rb', line 5

def initialize(namespace=nil)
  super()
  @model_elements = []
  @namespace = namespace || []
  self.require_empty   = false
  self.auto_shift_type = false      
end

Instance Attribute Details

#model_elementsObject (readonly)

Returns the value of attribute model_elements.



3
4
5
# File 'lib/lint_fu/model_element_builder.rb', line 3

def model_elements
  @model_elements
end

#namespaceObject (readonly)

Returns the value of attribute namespace.



3
4
5
# File 'lib/lint_fu/model_element_builder.rb', line 3

def namespace
  @namespace
end

Instance Method Details

#process_class(sexp) ⇒ Object

sexp
:class, <classname>, <superclass|nil>, <:scope - CLASS DEFS>


22
23
24
25
26
27
# File 'lib/lint_fu/model_element_builder.rb', line 22

def process_class(sexp)
  @namespace.push sexp[1]
  process(sexp[3])
  @namespace.pop
  return sexp
end

#process_module(sexp) ⇒ Object

sexp
:module, <modulename>, <:scope - MODULE DEFS>


14
15
16
17
18
19
# File 'lib/lint_fu/model_element_builder.rb', line 14

def process_module(sexp)
  @namespace.push sexp[1]
  process(sexp[2])
  @namespace.pop
  return sexp
end