class KeyholeIO::Group

Attributes

apikey[RW]
id[RW]

Public Class Methods

new(name, apikey) click to toggle source
# File lib/keyholeio.rb, line 52
def initialize name, apikey
  @apikey = apikey
  @id = name

  response = Net::HTTP.post_form URI.parse("#{APIURL}/group"), paramshash(name)
  r = Response.new response.body
end

Private Class Methods

paramshash(name, apikey, options) click to toggle source
# File lib/keyholeio.rb, line 99
def self.paramshash name, apikey, options
  params = { 
    apikey: apikey,
    id: name
  }
  options.collect { |k,v| params[k] = v }

  params
end

Public Instance Methods

add(entity) click to toggle source
# File lib/keyholeio.rb, line 65
def add entity
  if entity.class == Entity
    http = Net::HTTP.new("api.keyhole.io")
    req = Net::HTTP::Put.new("/v1/group")
    req.set_form_data apikey: @apikey, id: @id, entity: entity.name

    Response.new http.request(req).body
  else
    puts "'entity' needs to be of type Entity."
  end
end
destroy() click to toggle source
# File lib/keyholeio.rb, line 87
def destroy
  http = Net::HTTP.new("api.keyhole.io")
  req = Net::HTTP::Delete.new("/v1/group/rm?apikey=#{@apikey}&id=#{@id}")
  Response.new http.request(req).body
end
entities() click to toggle source
# File lib/keyholeio.rb, line 60
def entities
  response = Net::HTTP.get URI.parse("#{APIURL}/group?apikey=#{@apikey}&id=#{@id}")
  Response.new response
end
remove(entity) click to toggle source
# File lib/keyholeio.rb, line 77
def remove entity
  if entity.class == Entity
    http = Net::HTTP.new("api.keyhole.io")
    req = Net::HTTP::Delete.new("/v1/group?apikey=#{@apikey}&id=#{@id}&entity=#{entity.name}")
    Response.new http.request(req).body
  else
    puts "'entity' needs to be of type Entity."        
  end
end

Private Instance Methods

paramshash(name, options = {}) click to toggle source
# File lib/keyholeio.rb, line 95
def paramshash name, options = {}
  self.class.paramshash name, @apikey, options
end