Class: Rn::RegistrationNumber

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

Instance Method Summary collapse

Constructor Details

#initialize(registration_number) ⇒ RegistrationNumber

Returns a new instance of RegistrationNumber.

Raises:

  • (ArgumentError)


5
6
7
8
9
10
11
12
13
# File 'lib/rn/registration_number.rb', line 5

def initialize(registration_number)
  raise ArgumentError.new('cannot be empty') if registration_number.nil? || registration_number.empty?
  raise ArgumentError.new('must be 11 characters') if registration_number.length != 11
  raise ArgumentError.new('can only contain 0-9') unless (registration_number =~ /\D/).nil?

  @number = registration_number

  @year, @month, @day, @follow, @control = @number.scan(/\A(\d{2})(\d{2})(\d{2})(\d{3})(\d{2})\z/).flatten
end

Instance Method Details

#birthdayObject



15
16
17
# File 'lib/rn/registration_number.rb', line 15

def birthday
  @birthday ||= parse_birthday
end

#valid?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/rn/registration_number.rb', line 19

def valid?
  pre_2000_control? || post_2000_control?
end