Sha256: 55d0a2e08de0b155065ede046de0f441082698bfdfff4d75c0546aa7d0df4693

Contents?: true

Size: 889 Bytes

Versions: 4

Compression:

Stored size: 889 Bytes

Contents

module Rascal
  class Service
    attr_reader :name, :container, :alias, :env_variables, :command

    def initialize(name, env_variables: {}, image:, alias_name:, volumes: [], command: nil)
      @name = name
      @container = Docker::Container.new(name, image)
      @alias = alias_name
      @volumes = volumes
      @env_variables = env_variables
      @command = [*command]
    end

    def download_missing
      @container.download_missing
    end

    def start_if_stopped(network: nil)
      unless @container.running?
        if (container_id = @container.id)
          network.disconnect(container_id)
        end
        @container.start(network: network, network_alias: @alias, volumes: @volumes, env: @env_variables, command: @command)
      end
    end

    def clean
      @container.clean
    end

    def update(**args)
      @container.update(**args)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rascal-0.3.8 lib/rascal/service.rb
rascal-0.3.7 lib/rascal/service.rb
rascal-0.3.6 lib/rascal/service.rb
rascal-0.3.5 lib/rascal/service.rb