Class: MistralClient::Environment

Inherits:
Base
  • Object
show all
Includes:
Mixins::Definable, Mixins::MistralObject
Defined in:
lib/mistral_client/environment.rb

Constant Summary collapse

UNICODE_FIELDS =
%w[name scope description].freeze
JSON_FIELDS =
%w[variables].freeze
BOOL_FIELDS =
[].freeze
PATH =
'environments'.freeze

Constants inherited from Base

Base::DATE_FIELDS

Instance Method Summary collapse

Methods included from Mixins::Definable

#parse_definition

Methods included from Mixins::MistralObject

included, #ivars_from_response, #list

Constructor Details

#initialize(server, definition = nil, name: nil) ⇒ Environment

Returns a new instance of Environment.



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/mistral_client/environment.rb', line 10

def initialize(server, definition = nil, name: nil)
  super()
  @server = server
  @definition = definition ? parse_definition(definition) : nil
  @name = name
  if @name
    reload
  elsif @definition
    create_environment
  end
end

Instance Method Details

#delete!Object



26
27
28
29
30
31
32
# File 'lib/mistral_client/environment.rb', line 26

def delete!
  resp = @server.delete("#{PATH}/#{@name}")
  return true if resp.code == 204

  raise MistralClient::MistralError,
        "Could not perform the requested operation:\n#{resp.body}"
end

#reloadObject



22
23
24
# File 'lib/mistral_client/environment.rb', line 22

def reload
  super(@name)
end