Sha256: 5d89fb1a23dba84a9aefd4ae23770621ac3af824a3a826358fe54c5849bc3b3e

Contents?: true

Size: 1.01 KB

Versions: 17

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
      pretty_service_name = @service["service_name"]
      pretty_name = cfn_map[pretty_service_name]
      if pretty_name
        "#{pretty_service_name} (#{pretty_name})"
      else
        pretty_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

17 entries across 17 versions & 1 rubygems

Version Path
ufo-4.3.1 lib/ufo/apps/service.rb
ufo-4.3.0 lib/ufo/apps/service.rb
ufo-4.2.0 lib/ufo/apps/service.rb
ufo-4.1.10 lib/ufo/apps/service.rb
ufo-4.1.9 lib/ufo/apps/service.rb
ufo-4.1.8 lib/ufo/apps/service.rb
ufo-4.1.7 lib/ufo/apps/service.rb
ufo-4.1.6 lib/ufo/apps/service.rb
ufo-4.1.5 lib/ufo/apps/service.rb
ufo-4.1.4 lib/ufo/apps/service.rb
ufo-4.1.2 lib/ufo/apps/service.rb
ufo-4.1.1 lib/ufo/apps/service.rb
ufo-4.1.0 lib/ufo/apps/service.rb
ufo-4.0.3 lib/ufo/apps/service.rb
ufo-4.0.2 lib/ufo/apps/service.rb
ufo-4.0.1 lib/ufo/apps/service.rb
ufo-4.0.0 lib/ufo/apps/service.rb