CSC/ECE 517 Spring 2023 - E2317: Reimplement participant.rb

From Expertiza_Wiki
Revision as of 04:29, 22 March 2023 by Araveen (talk | contribs)
Jump to navigation Jump to search

This wiki page is for the description of changes made under E2317 OSS assignment for Spring 2023, CSC/ECE 517

Introduction

The introduction to the Expertiza OSS project.

About Expertiza

Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.

Overview of the Classes

participant.rb

The participant.rb is a model class that has many associations with other models. There are many methods present in it such as fullname, name, team and handle. There is a method called delete which checks for any associations before performing the delete operation. The other methods include topic_name, mail_assigned_reviewers, able_to_review, email, authorization and self.sort_by_name. There is one more method self.export that returns the information of the participant as an CSV file.

Backgroud of the Project

The participant.rb has many new changes to be implemented. We have made modifications to the model in accordance with the changes that were suggested. The changes mainly dealt with removing, merging and replacing methods. Tests were written for functions that were introduced and modified. Existing tests were run to ensure proper functioning of the model. Comments were added to each function to enhance readability.

Tasks Identified

The following changes were reimplemented in the participant.rb

1. Replacing force_delete method with leave_team method.

2. mail_assigned_reviewers method was removed.

3. able_to_review method was eliminated.

4. email method was removed as it was not required.

5. Merging export and export_fields methods.


Testing using Rspec