Class: StudentBase

Inherits:
Object
  • Object
show all
Defined in:
lib/StudentBase.rb

Direct Known Subclasses

Student, StudentShort

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(last_name, first_name, parental_name) ⇒ StudentBase

Returns a new instance of StudentBase.



29
30
31
32
33
# File 'lib/StudentBase.rb', line 29

def initialize(last_name, first_name, parental_name)
	self.last_name = last_name
	self.first_name = first_name
	self.parental_name = parental_name
end

Class Method Details

.validate_email?(email) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/StudentBase.rb', line 9

def self.validate_email?(email)
	return email.match(/^[A-Za-z0-9\-_]+@[A-Za-z]+(\.[A-Za-z]+)?\.[A-Za-z]+$/)
end

.validate_git_tg?(acc_name) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/StudentBase.rb', line 13

def self.validate_git_tg?(acc_name)
	return acc_name.match(/^@[A-Za-z0-9\-_]+$/)
end

.validate_name?(prof_name) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/StudentBase.rb', line 17

def self.validate_name?(prof_name)
	return prof_name.match(/(^[А-Я][а-я]+$)|(^[A-Z][a-z]+$)/)
end

.validate_phone?(phone) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/StudentBase.rb', line 5

def self.validate_phone?(phone)
	return phone.match(/^\+?[7,8] ?\(?\d{3}\)? ?\d{3}-?\d{2}-?\d{2}$/)
end

Instance Method Details

#first_name=(first_name1) ⇒ Object

Raises:

  • (ArgumentError)


35
36
37
38
# File 'lib/StudentBase.rb', line 35

def first_name=(first_name1)
	raise ArgumentError, "ERROR first_name=#{first_name1}" unless StudentBase.validate_name?(first_name1)
	@first_name=first_name1
end

#last_name=(last_name1) ⇒ Object

Raises:

  • (ArgumentError)


40
41
42
43
# File 'lib/StudentBase.rb', line 40

def last_name=(last_name1)
	raise ArgumentError, "ERROR last_name=#{last_name1}" unless StudentBase.validate_name?(last_name1)
	@last_name=last_name1
end

#parental_name=(parental_name1) ⇒ Object

Raises:

  • (ArgumentError)


45
46
47
48
# File 'lib/StudentBase.rb', line 45

def parental_name=(parental_name1)
	raise ArgumentError, "ERROR parental_name=#{parental_name1}" unless StudentBase.validate_name?(parental_name1)
	@parental_name=parental_name1
end

#valid_cont?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/StudentBase.rb', line 21

def valid_cont?
	!email.nil? || !telegram.nil? || !phone.nil?
end

#validate?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/StudentBase.rb', line 25

def validate?
	!git.nil? && valid_cont?
end