Class: Camunda::Generators::BpmnClassesGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/camunda/bpmn_classes/bpmn_classes_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_classesObject



26
27
28
29
30
31
# File 'lib/generators/camunda/bpmn_classes/bpmn_classes_generator.rb', line 26

def create_classes
  bpmn_xml.class_names_with_same_bpmn_id_as_topic.each do |class_name|
    template 'bpmn_class.rb.template',
             File.join(model_path, module_name.underscore, "#{class_name.underscore}.rb"), class_name: class_name
  end
end

#create_moduleObject



22
23
24
# File 'lib/generators/camunda/bpmn_classes/bpmn_classes_generator.rb', line 22

def create_module
  template 'bpmn_module.rb.template', File.join(model_path, "#{module_name.underscore}.rb")
end

#validate_class_namesObject



13
14
15
16
17
18
19
20
# File 'lib/generators/camunda/bpmn_classes/bpmn_classes_generator.rb', line 13

def validate_class_names
  bpmn_xml.modularized_class_names.each do |class_name|
    validate_constant_name(class_name.demodulize, module_name)
  end
  puts set_color("External tasks with the same topic name as the BPMN id will be created.", :bold)
  colorized_class_names = bpmn_xml.modularized_class_names.map! { |class_name| set_color class_name, :red }
  puts colorized_class_names.join("\n")
end

#validate_module_nameObject



8
9
10
11
# File 'lib/generators/camunda/bpmn_classes/bpmn_classes_generator.rb', line 8

def validate_module_name
  puts "The id of the BPMN process is: #{colored_module_name}. That will be your module name."
  validate_constant_name(module_name)
end