Sha256: ddf367b65aca8f0dceceac4a48bb4c5ea341898b073f9cfc9f3b1fcdccf6c41c

Contents?: true

Size: 560 Bytes

Versions: 21

Compression:

Stored size: 560 Bytes

Contents

require 'multi_json'

module Serverspec::Type
  class DockerBase < Base
    def exist?
      get_inspection.success?
    end

    def [](key)
      value = inspection
      key.split('.').each do |k|
        is_index = k.start_with?('[') && k.end_with?(']')
        value = value[is_index ? k[1..-2].to_i : k]
      end
      value
    end

    def inspection
      @inspection ||= ::MultiJson.load(get_inspection.stdout)[0]
    end

    private
    def get_inspection
      @get_inspection ||= @runner.run_command("docker inspect #{@name}")
    end
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
serverspec-2.42.3 lib/serverspec/type/docker_base.rb
serverspec-2.42.2 lib/serverspec/type/docker_base.rb
serverspec-2.42.1 lib/serverspec/type/docker_base.rb
serverspec-cem-acpt-2.42.0 lib/serverspec/type/docker_base.rb
serverspec-2.42.0 lib/serverspec/type/docker_base.rb
serverspec-2.41.8 lib/serverspec/type/docker_base.rb
serverspec-2.41.7 lib/serverspec/type/docker_base.rb
serverspec-2.41.6 lib/serverspec/type/docker_base.rb
serverspec-2.41.5 lib/serverspec/type/docker_base.rb
serverspec-2.41.4 lib/serverspec/type/docker_base.rb
serverspec-2.41.3 lib/serverspec/type/docker_base.rb
serverspec-2.41.2 lib/serverspec/type/docker_base.rb
serverspec-2.41.1 lib/serverspec/type/docker_base.rb
serverspec-2.41.0 lib/serverspec/type/docker_base.rb
serverspec-2.40.0 lib/serverspec/type/docker_base.rb
serverspec-2.39.2 lib/serverspec/type/docker_base.rb
serverspec-2.39.1 lib/serverspec/type/docker_base.rb
serverspec-2.39.0 lib/serverspec/type/docker_base.rb
serverspec-2.38.1 lib/serverspec/type/docker_base.rb
serverspec-2.38.0 lib/serverspec/type/docker_base.rb