Sha256: da3ddef8af3f8d0981a46ed2a1eb5fb86d7665227833637f48e630c02d0ed7cd

Contents?: true

Size: 896 Bytes

Versions: 5

Compression:

Stored size: 896 Bytes

Contents

require_relative '../model/se'
class StudentShort < StudentBase

	public_class_method :new

	#У нас уже есть некоторые гет\сет в базе, зачем же ещё?
	private
	attr_writer :fio, :contact, :git, :id

	public
	attr_reader :fio, :contact, :git, :id

	def self.from_student_class(student)
		StudentShort.new(student.id, student.get_info)
	end

	def initialize(id, str)
		info_short = str.split(',')
						.map{|x| x.split(':')}
						.map{|x| [x[0].to_sym, x[1]]}
						.to_h
		raise ArgumentError, 'Missing fields: fio' if info_short[:fio].nil?
		print(info_short)
		self.id=id
		self.fio = info_short[:fio]
		self.git = info_short[:git]
		info_short.delete_if{|k,v| k==:fio||k==:git}
		self.contact = info_short.values.first
	end


	def to_s

		[
			"#{id}, #{fio}, #{git}, #{contact}"
		].compact.join(' ')
	end
	
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mvcStudentXD-1.2.3 lib/source/model/Student_short.rb
mvcStudentXD-1.2.2 lib/source/model/Student_short.rb
mvcStudentXD-1.2.1 mvcStudentXD/lib/source/model/Student_short.rb
mvcStudentXD-1.2.0 lib/source/model/Student_short.rb
mvcStudentXD-1.1.3 lib/source/model/Student_short.rb