Class: Praxicraft::Resources::Pipelines

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

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Pipelines

Returns a new instance of Pipelines.



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

def initialize(client)
  @client = client
end

Instance Method Details

#bulk_enroll(pipeline, candidates, args = nil, **kwargs) ⇒ Object



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

def bulk_enroll(pipeline, candidates, args = nil, **kwargs)
  key = Client.path_segment(pipeline, "pipeline")
  body = { "candidates" => candidates }.merge(normalize(args || kwargs) || {})
  @client.post("/pipelines/#{key}/enroll/bulk/", body)
end

#enroll(pipeline, args = nil, **kwargs) ⇒ Object



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

def enroll(pipeline, 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(pipeline, "pipeline")
  @client.post("/pipelines/#{key}/enroll/", body)
end

#get_enrollment(enrollment_id) ⇒ Object



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

def get_enrollment(enrollment_id)
  key = Client.path_segment(enrollment_id, "enrollment_id")
  @client.get("/pipelines/enrollments/#{key}/")
end

#list(params = nil) ⇒ Object



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

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

#list_enrollments(pipeline, params = nil) ⇒ Object



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

def list_enrollments(pipeline, params = nil)
  key = Client.path_segment(pipeline, "pipeline")
  @client.get("/pipelines/#{key}/enrollments/", normalize(params))
end

#retrieve(pipeline) ⇒ Object



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

def retrieve(pipeline)
  key = Client.path_segment(pipeline, "pipeline")
  @client.get("/pipelines/#{key}/")
end