class DTK::DSL::ServiceAndComponentInfo::TransformTo::Parser::ServiceModule::TopDSL

Constants

DSL_VERSION

Public Instance Methods

update_output_hash?() click to toggle source
# File lib/dsl/service_and_component_info/transform_to/parser/service_module/top_dsl.rb, line 22
def update_output_hash?
  if module_dsl_canonical_hash = input_file_hash?(:module)
    if assemblies = module_dsl_canonical_hash.val(:Assemblies)
      add_module_info_to_output_hash!
      add_assemblies_to_output_hash!(assemblies)
      output_hash
    end
  end
end

Private Instance Methods

add_assemblies_to_output_hash!(assemblies) click to toggle source
# File lib/dsl/service_and_component_info/transform_to/parser/service_module/top_dsl.rb, line 40
def add_assemblies_to_output_hash!(assemblies)
  assemblies_yaml_object_array = assemblies.map do |assembly_canonical_hash|
    parsed_assembly  = FileGenerator.generate_yaml_object(:assembly, assembly_canonical_hash, DSL_VERSION)
    assembly_content = {}

    if name = parsed_assembly.delete('name') || assembly_canonical_hash[:name]
      assembly_content['name'] = name
    end

    if description = parsed_assembly.delete('description')
      assembly_content['description'] = description
    end

    assembly_content['dsl_version'] = DSL_VERSION
    workflows = parsed_assembly.delete('workflows')

    if parsed_assembly && !parsed_assembly.empty?
      assembly_content['assembly'] = parsed_assembly
    end

    if workflows
      assembly_content['workflows'] = workflows
    end

    assembly_content
  end

  output_hash['assemblies'] = assemblies_yaml_object_array
end
add_module_info_to_output_hash!() click to toggle source
# File lib/dsl/service_and_component_info/transform_to/parser/service_module/top_dsl.rb, line 35
def add_module_info_to_output_hash!
  output_hash['module']      = info_object.module_ref.module_name
  output_hash['dsl_version'] = DSL_VERSION
end