Class: Tiss::Generator::BaseGenerator

Inherits:
Object
  • Object
show all
Includes:
ActiveSupport::Inflector
Defined in:
lib/tiss/generator/generators/base_generator.rb

Direct Known Subclasses

ModelGenerator, ValidatorGenerator

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeBaseGenerator

Returns a new instance of BaseGenerator.



18
19
20
# File 'lib/tiss/generator/generators/base_generator.rb', line 18

def initialize
  @template_dir = File.join(File.dirname(File.absolute_path(__FILE__)), 'templates/')
end

Instance Attribute Details

#template_dirObject (readonly)

Returns the value of attribute template_dir.



10
11
12
# File 'lib/tiss/generator/generators/base_generator.rb', line 10

def template_dir
  @template_dir
end

Class Method Details

.call(*args) ⇒ Object



13
14
15
# File 'lib/tiss/generator/generators/base_generator.rb', line 13

def call(*args)
  new.call(*args)
end

Instance Method Details

#call(*_args) ⇒ Object



22
23
24
# File 'lib/tiss/generator/generators/base_generator.rb', line 22

def call(*_args)
  puts 'Base Call'
end

#is_complex_root(node) ⇒ Object



46
47
48
# File 'lib/tiss/generator/generators/base_generator.rb', line 46

def is_complex_root(node)
  is_xml_schema_node(node) && (node.name == 'complexType')
end

#is_element(node) ⇒ Object



38
39
40
# File 'lib/tiss/generator/generators/base_generator.rb', line 38

def is_element(node)
  is_xml_schema_node(node) && (node.name == 'element')
end

#is_simple(node) ⇒ Object



42
43
44
# File 'lib/tiss/generator/generators/base_generator.rb', line 42

def is_simple(node)
  is_xml_schema_node(node) && (node.name == 'simpleType')
end

#is_text(node) ⇒ Object



30
31
32
# File 'lib/tiss/generator/generators/base_generator.rb', line 30

def is_text(node)
  node.name == 'text'
end

#is_xml_schema_node(node) ⇒ Object



34
35
36
# File 'lib/tiss/generator/generators/base_generator.rb', line 34

def is_xml_schema_node(node)
  namespace_of(node) == XMLSchemaNS
end

#namespace_of(node) ⇒ Object



26
27
28
# File 'lib/tiss/generator/generators/base_generator.rb', line 26

def namespace_of(node)
  node.namespace.href
end

#select_children(node, name) ⇒ Object



50
51
52
# File 'lib/tiss/generator/generators/base_generator.rb', line 50

def select_children(node, name)
  node.children.select { |n| n.name == name }
end