Sha256: cbaa05c8e1712b0cc7ecedfb104c79d0fc00eaefc1d7dde9d6fab10496079c05

Contents?: true

Size: 895 Bytes

Versions: 15

Compression:

Stored size: 895 Bytes

Contents

module Dryad
  module Consul
    class Service < Dryad::Core::Service
      def to_registers
        portals.map do |portal|
          {
            ID: portal.id,
            Name: Service.full_name(portal.schema, name),
            Address: address,
            Port: portal.port,
            EnableTagOverride: true,
            Tags: tags(portal)
          }
        end
      end

      private
      def tags(portal)
        tags = [
          "type = \"#{type_name}\"",
          "priority = \"#{priority}\"",
          "group = \"#{group}\"",
          "schema = \"#{portal.schema}\"",
          "pattern = \"#{portal.pattern}\""
        ]
        if portal.non_certifications.count > 0
          tags << "non_certifications = \"#{portal.non_certifications.join(",")}\""
        end
        tags.concat(load_balancing.map{|lb| "load_balancing = \"#{lb}\"" })
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
dryad-consul-0.3.0 lib/dryad/consul/service.rb
dryad-consul-0.2.7 lib/dryad/consul/service.rb
dryad-consul-0.2.6 lib/dryad/consul/service.rb
dryad-0.2.5 dryad-consul/lib/dryad/consul/service.rb
dryad-consul-0.2.5 lib/dryad/consul/service.rb
dryad-0.2.3 dryad-consul/lib/dryad/consul/service.rb
dryad-consul-0.2.3 lib/dryad/consul/service.rb
dryad-0.2.1 dryad-consul/lib/dryad/consul/service.rb
dryad-consul-0.2.1 lib/dryad/consul/service.rb
dryad-0.2.0 dryad-consul/lib/dryad/consul/service.rb
dryad-consul-0.2.0 lib/dryad/consul/service.rb
dryad-0.1.1 dryad-consul/lib/dryad/consul/service.rb
dryad-consul-0.1.1 lib/dryad/consul/service.rb
dryad-0.1.0 dryad-consul/lib/dryad/consul/service.rb
dryad-consul-0.1.0 lib/dryad/consul/service.rb