OpenShift::Component

Attributes

generated[RW]
name[RW]
publishes[RW]
scaling[RW]
subscribes[RW]

Public Class Methods

new(name=nil) click to toggle source
# File lib/openshift-origin-common/models/component.rb, line 5
def initialize(name=nil)
  self.name = name
  @publishes = []
  @subscribes = []
  self.scaling = Scaling.new
  self.generated = false
end

Public Instance Methods

from_descriptor(profile, spec_hash = {}) click to toggle source
# File lib/openshift-origin-common/models/component.rb, line 21
def from_descriptor(profile, spec_hash = {})
  self.name = spec_hash["Name"] || profile.name
  if spec_hash["Publishes"] and spec_hash["Publishes"].is_a?(Hash)
    spec_hash["Publishes"].each do |n, p|
      conn = Connector.new(n).from_descriptor(p)
      @publishes << conn
    end
  end
  
  if spec_hash["Subscribes"] and spec_hash["Subscribes"].is_a?(Hash)
    spec_hash["Subscribes"].each do |n,p|
      conn = Connector.new(n).from_descriptor(p)
      @subscribes << conn
    end
  end
  
  self.scaling = Scaling.new.from_descriptor spec_hash["Scaling"] if spec_hash.has_key?("Scaling")      
  self
end
is_singleton?() click to toggle source
# File lib/openshift-origin-common/models/component.rb, line 13
def is_singleton?
  self.scaling.max == 1
end
is_sparse?() click to toggle source
# File lib/openshift-origin-common/models/component.rb, line 17
def is_sparse?
  self.scaling.multiplier!=1
end
to_descriptor() click to toggle source
# File lib/openshift-origin-common/models/component.rb, line 41
def to_descriptor
  p = {}
  self.publishes.each do |v|
    p[v.name] = v.to_descriptor
  end
  
  s = {}
  self.subscribes.each do |v|
    s[v.name] = v.to_descriptor
  end
  
  h = {}
  h["Publishes"] = p if self.publishes && !self.publishes.empty?
  h["Subscribes"] = s if self.subscribes && !self.subscribes.empty?
  h["Scaling"] = self.scaling.to_descriptor if self.scaling && !self.scaling.generated
  h
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.