Module: DockerSwarm::Concerns::Creatable

Extended by:
ActiveSupport::Concern
Included in:
DockerSwarm::Config, DockerSwarm::Container, Network, Secret, Service, Volume
Defined in:
lib/docker_swarm/concerns/creatable.rb

Instance Method Summary collapse

Instance Method Details

#query_params_for_dockerHash{Symbol => Object}

Los create_query_params que este recurso tiene seteados, listos para la URL.

Returns:

  • (Hash{Symbol => Object})

    vacĂ­o si el modelo no declara ninguno



49
50
51
52
53
54
# File 'lib/docker_swarm/concerns/creatable.rb', line 49

def query_params_for_docker
  keys = self.class.create_query_params
  return {} if keys.empty?

  attributes.slice(*keys).compact.symbolize_keys
end

#save(registry_auth: nil) ⇒ Object

Parameters:

  • registry_auth (String, nil) (defaults to: nil)

    credencial opaca para el header X-Registry-Auth



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/docker_swarm/concerns/creatable.rb', line 30

def save(registry_auth: nil)
  return false unless valid?
  return update(registry_auth: registry_auth) if persisted?

  headers, = RegistryAuth.resolve(registry_auth: registry_auth)
  response = Api.request(
    action: self.class.routes[:create],
    query_params: query_params_for_docker,
    payload: payload_for_docker.except(*self.class.create_query_params),
    headers: headers
  )

  self.ID = response["ID"] || response["Id"] || response["Name"]
  reload
  true
end