module Controls

A Ruby client for the **controls**insight API

Constants

PrioritizedGuidance

A guidance subclass for when guidance is returned with priority.

todo
  • this should include Comparable

ProductChangeEventPayload

A representation of a given ProductChangeEvent's payload

SecurityControlChangeEventPayload

A representation of a given SecurityControlChangeEvent's payload

SiteChangeEventPayload

A representation of a given SiteChangeEventPayload's payload

VERSION

The version of the Controls gem

Public Class Methods

client() click to toggle source

A {Client} object that includes {Configurable}

@return [Client] the current {Client} object or a newly initialized

{Client} object
# File lib/controls.rb, line 13
def client
  unless defined?(@client) && @client.same_options?(options)
    @client = Controls::Client.new(options)
  end

  @client
end
configure() { |client| ... } click to toggle source

Yields the global client to configure in a block

@yield [client]

# File lib/controls.rb, line 24
def configure
  yield client
end
respond_to_missing?(method_name, include_private = false) click to toggle source

Overrides the respond_to_missing method to act as a proxy for {Controls::Client}

@param [Symbol,String] method_name the method name to check for @param [Boolean] include_private to include private methods when checking for method response @return [Boolean] whether {Controls} responds to the method

# File lib/controls.rb, line 34
def respond_to_missing?(method_name, include_private = false)
  client.respond_to?(method_name, include_private)
end

Private Class Methods

method_missing(method_name, *args, &block) click to toggle source
Calls superclass method
# File lib/controls.rb, line 40
def method_missing(method_name, *args, &block)
  if client.respond_to?(method_name)
    client.send(method_name, *args, &block)
  else
    super
  end
end