Class: GlobiGuard::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/globiguard.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(environment:, services:, credential:) ⇒ Client

Returns a new instance of Client.



41
42
43
# File 'lib/globiguard.rb', line 41

def initialize(environment:, services:, credential:)
  @transport = Transport.new(environment: environment, services: services, credential: credential)
end

Instance Attribute Details

#transportObject (readonly)

Returns the value of attribute transport.



29
30
31
# File 'lib/globiguard.rb', line 29

def transport
  @transport
end

Class Method Details

.browser(environment:, services:, credential:) ⇒ Object

Raises:

  • (ArgumentError)


36
37
38
39
# File 'lib/globiguard.rb', line 36

def self.browser(environment:, services:, credential:)
  raise ArgumentError, "Browser clients cannot use secret credentials." if credential.kind == "secret"
  new(environment: environment, services: services, credential: credential)
end

.server(environment:, services:, credential:) ⇒ Object

Raises:

  • (ArgumentError)


31
32
33
34
# File 'lib/globiguard.rb', line 31

def self.server(environment:, services:, credential:)
  raise ArgumentError, "Server clients require secret or local credentials." if credential.kind == "publishable"
  new(environment: environment, services: services, credential: credential)
end

Instance Method Details

#actionsObject



45
# File 'lib/globiguard.rb', line 45

def actions = ResourceClient.new(@transport, "/v1/actions")

#auditObject



46
# File 'lib/globiguard.rb', line 46

def audit = ResourceClient.new(@transport, "/v1/audit")

#governed_actionsObject



52
# File 'lib/globiguard.rb', line 52

def governed_actions = GovernedActions.new(@transport)

#installsObject



47
# File 'lib/globiguard.rb', line 47

def installs = ResourceClient.new(@transport, "/v1/installs")

#orgsObject



48
# File 'lib/globiguard.rb', line 48

def orgs = ResourceClient.new(@transport, "/v1/orgs")

#policiesObject



49
# File 'lib/globiguard.rb', line 49

def policies = ResourceClient.new(@transport, "/v1/policies")

#queueObject



50
# File 'lib/globiguard.rb', line 50

def queue = ResourceClient.new(@transport, "/v1/queue")

#workflowsObject



51
# File 'lib/globiguard.rb', line 51

def workflows = ResourceClient.new(@transport, "/v1/workflows")