Class: Praxicraft::Resources::Invites

Inherits:
Object
  • Object
show all
Defined in:
lib/praxicraft/resources/invites.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Invites

Returns a new instance of Invites.



6
7
8
# File 'lib/praxicraft/resources/invites.rb', line 6

def initialize(client)
  @client = client
end

Instance Method Details

#bulk_create(assessment, candidates, args = nil, **kwargs) ⇒ Object



30
31
32
33
34
# File 'lib/praxicraft/resources/invites.rb', line 30

def bulk_create(assessment, candidates, args = nil, **kwargs)
  key = Client.path_segment(assessment, "assessment")
  body = { "candidates" => candidates }.merge(normalize(args || kwargs) || {})
  @client.post("/assessments/#{key}/invites/bulk/", body)
end

#cancel(invite_token) ⇒ Object



41
42
43
44
# File 'lib/praxicraft/resources/invites.rb', line 41

def cancel(invite_token)
  token = Client.path_segment(invite_token, "invite_token")
  @client.delete("/invites/#{token}/")
end

#create(assessment, args = nil, **kwargs) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/praxicraft/resources/invites.rb', line 19

def create(assessment, args = nil, **kwargs)
  body = normalize(args || kwargs) || {}
  email = body["email"]
  if email.nil? || email.to_s.strip.empty?
    raise APIError.new("email is required", "INVALID_ARGUMENT")
  end

  key = Client.path_segment(assessment, "assessment")
  @client.post("/assessments/#{key}/invites/", body)
end

#list(params = nil) ⇒ Object



10
11
12
# File 'lib/praxicraft/resources/invites.rb', line 10

def list(params = nil)
  @client.get("/invites/", normalize(params))
end

#remind(invite_token) ⇒ Object



36
37
38
39
# File 'lib/praxicraft/resources/invites.rb', line 36

def remind(invite_token)
  token = Client.path_segment(invite_token, "invite_token")
  @client.post("/invites/#{token}/remind/")
end

#retrieve(invite_token) ⇒ Object



14
15
16
17
# File 'lib/praxicraft/resources/invites.rb', line 14

def retrieve(invite_token)
  token = Client.path_segment(invite_token, "invite_token")
  @client.get("/invites/#{token}/")
end