class Nodepost::NodeGroupsClient

Public Class Methods

new(options={}) click to toggle source
# File lib/nodepost.rb, line 9
def initialize(options={})
  @options = options
end

Public Instance Methods

get_nodegroup(nodegroup) click to toggle source

Get hash representing the nodegroup

# File lib/nodepost.rb, line 14
def get_nodegroup(nodegroup)
  payload = { nodegroup: nodegroup, outputFormat: 'json' }

  response = api_request("nodegroups/get_nodegroup.php", payload)
  JSON.parse(response[0])['details']
end
get_nodegroups_from_node(node) click to toggle source

Get nodegroups from a node

# File lib/nodepost.rb, line 22
def get_nodegroups_from_node(node)
  payload = { node: node }

  api_request("nodes/get_nodegroups.php", payload)
end
get_nodes_from_expression(expression) click to toggle source

Get array of nodes from an expression

# File lib/nodepost.rb, line 29
def get_nodes_from_expression(expression)
  payload = { expression: expression }

  api_request("expression/get_nodes.php", payload)
end
get_nodes_from_nodegroup(nodegroup) click to toggle source

Get array of nodes from a nodegroup.

# File lib/nodepost.rb, line 36
def get_nodes_from_nodegroup(nodegroup)
  payload = { nodegroup: nodegroup }

  api_request("nodegroups/get_nodes.php", payload)
end

Private Instance Methods

api_request(url, payload) click to toggle source
# File lib/nodepost.rb, line 44
def api_request(url, payload)
  payload = { outputFormat: 'list', statusHeader: 1 }.merge payload

  uri = URI.parse(@options[:base_url] + url)
  uri.query = URI.encode_www_form payload
  response = uri.open.read
  response.split "\n"
end