Sha256: cba9680868427ce3417bec6e733653545a04966a64e8d48b6d2a061307013364
Contents?: true
Size: 1.25 KB
Versions: 2
Compression:
Stored size: 1.25 KB
Contents
require 'json' #(last_name, first_name, paternal_name, id:nil, phone:nil, git:nil, telegram:nil, email:nil) class StudentShort attr_reader :id, :git, :contact, :initials def initialize(student) @id = student.id @initials = "#{student.last_name} #{student.first_name[0]}.#{student.paternal_name[0]}. " @git = student.git unless student.git.nil? @contact = student.set_contacts(phone: student.phone, email: student.email, telegram: student.telegram) end def self.from_str(id, str) result = JSON.parse(str) raise ArgumentError, 'Missing fields: last_name, first_name, paternal_name' unless result.key?('first_name') && result.key?('last_name') && result.key?('paternal_name') StudentShort.new(Student.new(last_name: result['last_name'],first_name: result['first_name'], paternal_name: result['paternal_name'],id: id, phone: result['phone'], git: result['git'], email: result['email'],telegram: result['telegram'])) end def shortName "#{@initials}" end def to_s res = "#{initials}" res += "id=#{id}" unless id.nil? res += " git=#{git}" unless git.nil? res += " #{contact}" unless contact.nil? res end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rafmycat-1.0.1 | lib/source/student/student_short.rb |
rafmycat-1.0.0 | lib/source/student/student_short.rb |