Class: Vinyldns::API::Group

Inherits:
Object
  • Object
show all
Defined in:
lib/vinyldns/api/group/group.rb

Class Method Summary collapse

Class Method Details

.create(name, distribution_email, members_array, admins_array, description = '') ⇒ Object



15
16
17
18
# File 'lib/vinyldns/api/group/group.rb', line 15

def self.create(name, distribution_email, members_array, admins_array, description = '')
  api_request_object = Vinyldns::API.new('post')
  Vinyldns::API.make_request(api_request_object, @api_uri, { 'name': name, 'email': distribution_email, 'description': description, 'members': members_array, 'admins': admins_array })
end

.delete(id) ⇒ Object



28
29
30
31
# File 'lib/vinyldns/api/group/group.rb', line 28

def self.delete(id)
  api_request_object = Vinyldns::API.new('delete')
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{id}")
end

.get(id) ⇒ Object



33
34
35
36
# File 'lib/vinyldns/api/group/group.rb', line 33

def self.get(id)
  api_request_object = Vinyldns::API.new('get')
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{id}")
end

.get_group_activity(id, max_items = 5, start_from = nil) ⇒ Object



55
56
57
58
59
# File 'lib/vinyldns/api/group/group.rb', line 55

def self.get_group_activity(id, max_items = 5, start_from = nil)
  api_request_object = Vinyldns::API.new('get')
  # UNI.encode matches all symbols that must be replaced with codes
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{id}/activity?maxItems=#{max_items}#{start_from.nil? ? '' : "&startFrom=#{start_from}"}")
end

.list_group_admins(id) ⇒ Object



44
45
46
47
# File 'lib/vinyldns/api/group/group.rb', line 44

def self.list_group_admins(id)
  api_request_object = Vinyldns::API.new('get')
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{id}/admins")
end

.list_group_members(id, max_items = 5, start_from = nil) ⇒ Object



49
50
51
52
53
# File 'lib/vinyldns/api/group/group.rb', line 49

def self.list_group_members(id, max_items = 5, start_from = nil)
  api_request_object = Vinyldns::API.new('get')
  # UNI.encode matches all symbols that must be replaced with codes
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{id}/members?maxItems=#{max_items}#{start_from.nil? ? '' : "&startFrom=#{start_from}"}")
end

.list_my_groups(name_filter = nil, max_items = 5, start_from = nil) ⇒ Object



38
39
40
41
42
# File 'lib/vinyldns/api/group/group.rb', line 38

def self.list_my_groups(name_filter = nil, max_items = 5, start_from = nil)
  api_request_object = Vinyldns::API.new('get')
  # URI.encode matches all symbols that must be replaced with codes
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}?#{URI.encode_www_form([['groupNameFilter', name_filter], ['maxItems', max_items], ['startFrom', start_from]])}")
end

.update(id, request_params) ⇒ Object

Raises:

  • (ArgumentError)


20
21
22
23
24
25
26
# File 'lib/vinyldns/api/group/group.rb', line 20

def self.update(id, request_params)
  # We use request_params here as require arguments as create arguments may differ from update
  # Validations
  raise(ArgumentError, 'Request Parameters must be a Hash') unless request_params.is_a? Hash
  api_request_object = Vinyldns::API.new('put')
  Vinyldns::API.make_request(api_request_object, "#{@api_uri}/#{id}", request_params)
end