Class: Jelastic::Serializers::Environment

Inherits:
Base
  • Object
show all
Defined in:
lib/jelastic/serializers/environment.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(environment) ⇒ Environment

Returns a new instance of Environment.



6
7
8
# File 'lib/jelastic/serializers/environment.rb', line 6

def initialize(environment)
  @environment = environment
end

Instance Attribute Details

#environmentObject (readonly)

Returns the value of attribute environment.



4
5
6
# File 'lib/jelastic/serializers/environment.rb', line 4

def environment
  @environment
end

Instance Method Details

#docker_node_hash(node) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
# 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_hashObject



28
29
30
31
32
33
34
35
36
37
# 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) ⇒ Object



39
40
41
42
43
44
45
46
47
48
# 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

#serializeObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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