Class: CampusIvy::Resources::Attendance

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/campus_ivy/resources/attendance.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Attendance

Returns a new instance of Attendance.



9
10
11
# File 'lib/campus_ivy/resources/attendance.rb', line 9

def initialize(client)
  @client = client
end

Instance Method Details

#import(students_attendances:, file_source: nil, validate_records: nil, process_records: nil, return_result: nil, batch_size: nil, response_type: nil) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/campus_ivy/resources/attendance.rb', line 58

def import(
  students_attendances:,
  file_source: nil,
  validate_records: nil,
  process_records: nil,
  return_result: nil,
  batch_size: nil,
  response_type: nil
)
  query_params = {
    fileSource: file_source,
    validateRecords: validate_records,
    processRecords: process_records,
    returnResult: return_result,
    batchSize: batch_size,
    responseType: response_type
  }.compact

  response = @client.connection.post('Attendance') do |req|
    req.params = query_params
    req.body = students_attendances
  end

  CampusIvy::Object.new(response.body)
end

#list(institution_import_file_id: nil, import_processing_status_id: nil, student_id: nil, has_errors: nil, has_warnings: nil, start_date: nil, end_date: nil) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/campus_ivy/resources/attendance.rb', line 24

def list(
  institution_import_file_id: nil,
  import_processing_status_id: nil,
  student_id: nil,
  has_errors: nil,
  has_warnings: nil,
  start_date: nil,
  end_date: nil
)
  params = {
    'request.institutionImportFileId' => institution_import_file_id,
    'request.importProcessingStatusId' => import_processing_status_id,
    'request.studentId' => student_id,
    'request.hasErrors' => has_errors,
    'request.hasWarnings' => has_warnings,
    'request.startDate' => start_date,
    'request.endDate' => end_date
  }.compact

  response = @client.connection.get('Attendance', params)
  CampusIvy::Object.new(response.body)
end