Sha256: f25834ddcbb4c0031efd6b2efe7a9ed7df2f788c6fcf54eb88eb9fb7fd47c0c5

Contents?: true

Size: 1.01 KB

Versions: 28

Compression:

Stored size: 1.01 KB

Contents

class Ufo::Apps
  class Service
    extend Memoist

    def initialize(service, options)
      @service = service
      @options = options
    end

    def to_a
      [name, task_definition, running, launch_type, ufo?]
    end

    def task_definition
      @service["task_definition"].split('/').last
    end

    def launch_type
      @service["launch_type"]
    end

    def cfn_map
      @cfn_map ||= CfnMap.new(@options).map
    end

    def ufo?
      yes = !!cfn_map[@service["service_name"]]
      yes ? "yes" : "no"
    end

    def name
      actual_service_name = @service["service_name"]
      pretty_name = cfn_map[actual_service_name]
      if pretty_name
        "#{actual_service_name} (#{pretty_name})"
      else
        actual_service_name
      end
    end

    def running
      @service["running_count"]
    end

    def dns
      return 'dns' if ENV['TEST']
      elb = info.load_balancer(@service)
      elb.dns_name if elb
    end

    def info
      Ufo::Info.new(@service)
    end
    memoize :info
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
ufo-5.0.7 lib/ufo/apps/service.rb
ufo-5.0.6 lib/ufo/apps/service.rb
ufo-5.0.5 lib/ufo/apps/service.rb
ufo-5.0.4 lib/ufo/apps/service.rb
ufo-5.0.3 lib/ufo/apps/service.rb
ufo-5.0.2 lib/ufo/apps/service.rb
ufo-5.0.1 lib/ufo/apps/service.rb
ufo-5.0.0 lib/ufo/apps/service.rb
ufo-4.6.3 lib/ufo/apps/service.rb
ufo-4.6.2 lib/ufo/apps/service.rb
ufo-4.6.1 lib/ufo/apps/service.rb
ufo-4.6.0 lib/ufo/apps/service.rb
ufo-4.5.11 lib/ufo/apps/service.rb
ufo-4.5.10 lib/ufo/apps/service.rb
ufo-4.5.9 lib/ufo/apps/service.rb
ufo-4.5.8 lib/ufo/apps/service.rb
ufo-4.5.7 lib/ufo/apps/service.rb
ufo-4.5.6 lib/ufo/apps/service.rb
ufo-4.5.5 lib/ufo/apps/service.rb
ufo-4.5.4 lib/ufo/apps/service.rb