class Imperium::Events

A client for the Events API.

Public Class Methods

fire(name, payload = nil, dc: nil, node: nil, service: nil, tag: nil) click to toggle source

{#fire fire} an event using the {.default_client} @see fire

# File lib/imperium/events.rb, line 8
def self.fire(name, payload = nil, dc: nil, node: nil, service: nil, tag: nil)
  default_client.fire(name, payload, dc: dc, node: node, service: service, tag: tag)
end

Public Instance Methods

fire(name, payload = nil, dc: nil, node: nil, service: nil, tag: nil) click to toggle source

Fire the event

@example Firing an event with a payload

response = Imperium::Events.fire('foo/bar', 'mypayload') # => EventResponse...

@param [String] name The name of the event @param [String] payload Additional data to send as payload of the event @param [String] dc Specify the datacenter to use for the request @param [String] node Specifies a regular expression to filter by node name @param [String] service Specifies a regular expression to filter by service name @param [String] tag Specifies a regular expression to filter by tag @return [EventResponse]

# File lib/imperium/events.rb, line 24
def fire(name, payload = nil, dc: nil, node: nil, service: nil, tag: nil)
  query = {}
  query[:dc] = dc if dc
  query[:node] = node if node
  query[:service] = service if service
  query[:tag] = tag if tag
  response = @http_client.put(prefix_path("fire/#{name}"),
                              payload, query: query)
  EventFireResponse.new(response)
end