Class: Squall::Whitelist

Inherits:
Base
  • Object
show all
Defined in:
lib/squall/whitelist.rb

Overview

OnApp Whitelist

Instance Attribute Summary

Attributes inherited from Base

#result, #success

Instance Method Summary collapse

Methods inherited from Base

#check_config, #default_params, #key_for_class, #request

Instance Method Details

#create(user_id, options = {}) ⇒ Object

Public: Create a whitelist for a user.

user_id - ID of the user options - Params for creating the whitelist:

:ip          - IP to be whitelisted
:description - Description of the whitelist

Example

create ip:          192.168.1.1,
       description: "Computer that someone I trust uses"

Returns a Hash.



38
39
40
# File 'lib/squall/whitelist.rb', line 38

def create(user_id, options = {})
  request(:post, "/users/#{user_id}/user_white_lists.json", query: { user_white_list: options })
end

#delete(user_id, id) ⇒ Object

Public: Delete a whitelist.

user_id - ID of the user id - ID of whitelist

Returns a Hash.



59
60
61
# File 'lib/squall/whitelist.rb', line 59

def delete(user_id, id)
  request(:delete, "/users/#{user_id}/user_white_lists/#{id}.json")
end

#edit(user_id, id, options = {}) ⇒ Object

Public: Edit a whitelist.

user_id - ID of the user id - ID of whitelist options - Params for editing the whitelist, see ‘#create`

Returns a Hash.



49
50
51
# File 'lib/squall/whitelist.rb', line 49

def edit(user_id, id, options = {})
  request(:put, "/users/#{user_id}/user_white_lists/#{id}.json", query: { user_white_list: options })
end

#list(user_id) ⇒ Object

Public: Lists all whitelists.

user_id - ID of the user to display whitelists for

Returns an Array.



9
10
11
12
# File 'lib/squall/whitelist.rb', line 9

def list(user_id)
  response = request(:get, "/users/#{user_id}/user_white_lists.json")
  response.collect { |user| user['user_white_list'] }
end

#show(user_id, id) ⇒ Object

Public: Get the details for a whitelist.

user_id - ID of the user id - ID of the whitelist

Returns a Hash.



20
21
22
23
# File 'lib/squall/whitelist.rb', line 20

def show(user_id, id)
  response = request(:get, "/users/#{user_id}/user_white_lists/#{id}.json")
  response['user_white_list']
end