class MistralClient::Environment

Constants

BOOL_FIELDS
JSON_FIELDS
PATH
UNICODE_FIELDS

Public Class Methods

new(server, definition = nil, name: nil) click to toggle source
Calls superclass method
# 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

Public Instance Methods

delete!() click to toggle source
# 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
reload() click to toggle source
# File lib/mistral_client/environment.rb, line 22
def reload
  super(@name)
end

Private Instance Methods

create_environment() click to toggle source
# File lib/mistral_client/environment.rb, line 36
def create_environment
  resp = @server.post(PATH, @definition.to_json, json: true)
  ivars_from_response(resp)
end
massage_definition(definition) click to toggle source
# File lib/mistral_client/environment.rb, line 41
def massage_definition(definition)
  definition['variables'] = definition['variables'].to_json if definition['variables'].is_a? Hash
  definition
end