class Megam::Mixins::Assembly

Constants

DEFAULT_DOCKER_PREFIX
DEFAULT_VERTICE_PREFIX
TORPEDO

Attributes

components[R]
envs[R]
id[R]
mixins[R]
name[R]
outputs[R]
policies[R]

Public Class Methods

new(params) click to toggle source
# File lib/megam/mixins/assembly.rb, line 12
def initialize(params)
    params = Hash[params.map { |k, v| [k.to_sym, v] }]
    @id = params[:id] || params[:assemblyID] || ''
    @name = params[:assemblyname]
    @mixins = CommonDeployable.new(params)
    @outputs = Outputs.new(params)
    @components = add_components(params)
    @tosca_type = add_assembly_tosca_type(params)
    @policies = []
end

Public Instance Methods

to_hash() click to toggle source
# File lib/megam/mixins/assembly.rb, line 23
def to_hash
    result = @mixins.to_hash
    result[:id] = @id if @id
    result[:name] = @name if @name
    result[:components] = @components if @components
    result[:outputs] = @outputs.to_array if @outputs
    result[:policies] = @policies if @policies
    result[:tosca_type] = @tosca_type if @tosca_type
    result
end

Private Instance Methods

add_assembly_tosca_type(params) click to toggle source
# File lib/megam/mixins/assembly.rb, line 49
def add_assembly_tosca_type(params)
    if params[:scm_name] == DEFAULT_DOCKER_PREFIX
        @tosca_type = params[:scm_name] + ".#{TORPEDO.downcase}.#{params[:os_name].downcase}" if params[:os_name] != nil
    else
        @tosca_type = DEFAULT_VERTICE_PREFIX + ".#{TORPEDO.downcase}.#{params[:os_name].downcase}" if params[:os_name] != nil
    end
end
add_components(params) click to toggle source
# File lib/megam/mixins/assembly.rb, line 41
def add_components(params)
    if components_enabled?(params)
        @components = Components.new(params).to_a
    else
        @components = []
    end
end
components_enabled?(params) click to toggle source

If @components_enabled for type

# File lib/megam/mixins/assembly.rb, line 37
def components_enabled?(params)
    true if params[:cattype] != 'TORPEDO'.freeze
end