class Jelastic::Serializers::Environment

Attributes

environment[R]

Public Class Methods

new(environment) click to toggle source
# File lib/jelastic/serializers/environment.rb, line 6
def initialize(environment)
  @environment = environment
end

Public Instance Methods

docker_node_hash(node) click to toggle source
# File lib/jelastic/serializers/environment.rb, line 50
def docker_node_hash(node)
  node_hash(node).merge(
    {
      docker: {
        cmd: node.cmd,
        image: node.image,
        links: node.links,
        env: node.envs,
        registry: node.registry.to_h,
        nodeGroup: node.group
      }
    }
  )
end
env_hash() click to toggle source
# File lib/jelastic/serializers/environment.rb, line 28
def env_hash
  {
    region: environment.region,
    ishaenabled: environment.high_availability?,
    engine: environment.engine,
    displayName: environment.display_name,
    sslstate: environment.ssl?,
    shortdomain: environment.short_domain
  }
end
node_hash(node) click to toggle source
# File lib/jelastic/serializers/environment.rb, line 39
def node_hash(node)
  {
    extip: node.public_ip?,
    count: node.count,
    fixedCloudlets: node.fixed_cloudlets,
    flexibleCloudlets: node.flexible_cloudlets,
    displayName: node.display_name,
    nodeType: node.type
  }
end
serialize() click to toggle source
# File lib/jelastic/serializers/environment.rb, line 10
def serialize
  hash = {
    actionkey: environment.action_key,
    env: env_hash,
    nodes: []
  }

  environment.nodes.each do |node|
    if node.docker?
      hash[:nodes] << docker_node_hash(node)
    else
      hash[:nodes] << node_hash(node)
    end
  end

  clean(hash)
end