module Database
Public Instance Methods
connect_db()
click to toggle source
# File lib/lector/database.rb, line 2 def connect_db puts "Connecting to MySQL DB at #{@config[:db_host]}" ActiveRecord::Base.establish_connection( adapter: 'mysql2', host: @config[:db_host], database: @config[:db_database], username: @config[:db_username], password: @config[:db_password] ) end
save_course(info)
click to toggle source
# File lib/lector/database.rb, line 36 def save_course(info) info.delete(:type) # DB throws error if doesn't exist so resort to nil if throws course = Course.find(info[:id]) rescue nil if course.nil? course = Course.create(info) else course.update(info) end course.save! course end
save_person(info)
click to toggle source
Determine staff or student
# File lib/lector/database.rb, line 27 def save_person(info) return case info[:type] when :student save_student(info) else save_staff(info) end end
save_staff(info)
click to toggle source
# File lib/lector/database.rb, line 52 def save_staff(info) info.delete(:type) # DB throws error if doesn't exist so resort to nil if throws staff = Staff.find(info[:id]) rescue nil course_ids = info.delete(:course_ids) if staff.nil? staff = Staff.create(info) else staff.update(info) end staff.courses = Course.where(id: course_ids) # Throws error if courses don't exist staff.save! staff end
save_student(info)
click to toggle source
# File lib/lector/database.rb, line 72 def save_student(info) info.delete(:type) # DB throws error if doesn't exist so resort to nil if throws student = Student.find(info[:id]) rescue nil course_ids = info.delete(:course_ids) if student.nil? student = Student.create(info) else student.update(info) end student.courses = Course.where(id: course_ids) # Throws error if courses don't exist student.save! student end