class OpenShift::Group

Attributes

component_ref_name_map[RW]
generated[RW]
name[RW]
scaling[RW]

Public Class Methods

new(name="default") click to toggle source
# File lib/openshift-origin-common/models/group.rb, line 7
def initialize(name="default")
  self.name = name
  self.scaling = Scaling.new
  self.generated = false
end

Public Instance Methods

add_component_ref(component_ref) click to toggle source
# File lib/openshift-origin-common/models/group.rb, line 28
def add_component_ref(component_ref)
  component_ref_name_map_will_change!
  component_refs_will_change!
  @component_ref_name_map = {} if @component_ref_name_map.nil?
  if component_ref.class == ComponentRef
    @component_ref_name_map[component_ref.name] = component_ref
  else
    key = component_ref["name"]            
    @component_ref_name_map[key] = ComponentRef.new
    @component_ref_name_map[key].attributes=component_ref
  end
end
component_refs(name=nil) click to toggle source
# File lib/openshift-origin-common/models/group.rb, line 19
def component_refs(name=nil)
  @component_ref_name_map = {} if @component_ref_name_map.nil?
  if name.nil?
    @component_ref_name_map.values
  else
    @component_ref_name_map[name]
  end
end
component_refs=(data) click to toggle source
# File lib/openshift-origin-common/models/group.rb, line 13
def component_refs=(data)
  data.each do |value|
    add_component_ref(value)
  end
end
from_descriptor(spec_hash = {}) click to toggle source
# File lib/openshift-origin-common/models/group.rb, line 51
def from_descriptor(spec_hash = {})
  self.name = spec_hash["Name"] || "default"
  if spec_hash.has_key?("Components")
    spec_hash["Components"].each do |n,c|
      self.add_component_ref(ComponentRef.new(n).from_descriptor(c))
    end
  end
  self.scaling.from_descriptor spec_hash["Scaling"] if spec_hash.has_key?("Scaling")
  self
end
get_name_prefix() click to toggle source
# File lib/openshift-origin-common/models/group.rb, line 74
def get_name_prefix
  return "" if self.generated
  return "/group-" + self.name
end
scaling=(value) click to toggle source
# File lib/openshift-origin-common/models/group.rb, line 41
def scaling=(value)
  scaling_will_change!
  if value.kind_of?(Hash)
    @scaling = Scaling.new
    @scaling.attributes=value
  else
    @scaling = value
  end
end
to_descriptor() click to toggle source
# File lib/openshift-origin-common/models/group.rb, line 62
def to_descriptor
  components = {}
  self.component_refs.each do |c|
    components[c.name] = c.to_descriptor
  end

  {
    "Components" => components,
    "Scaling" => self.scaling.to_descriptor
  }
end