2017-07-10 01:49:52 +08:00
|
|
|
# frozen_string_literal: true
|
2017-07-10 21:40:03 +08:00
|
|
|
|
2014-05-19 18:06:09 +08:00
|
|
|
class Person
|
2014-08-18 04:48:44 +08:00
|
|
|
class RecordNotFound < StandardError; end
|
|
|
|
|
2014-08-17 09:06:30 +08:00
|
|
|
include GlobalID::Identification
|
2014-05-20 01:36:41 +08:00
|
|
|
|
2014-05-19 18:06:09 +08:00
|
|
|
attr_reader :id
|
2014-05-20 01:36:41 +08:00
|
|
|
|
2014-05-19 18:06:09 +08:00
|
|
|
def self.find(id)
|
2016-10-29 11:05:58 +08:00
|
|
|
raise RecordNotFound.new("Cannot find person with ID=404") if id.to_i == 404
|
2014-05-19 18:06:09 +08:00
|
|
|
new(id)
|
|
|
|
end
|
2014-05-20 01:36:41 +08:00
|
|
|
|
2014-05-19 18:06:09 +08:00
|
|
|
def initialize(id)
|
|
|
|
@id = id
|
|
|
|
end
|
2014-05-20 01:36:41 +08:00
|
|
|
|
2014-05-19 18:06:09 +08:00
|
|
|
def ==(other_person)
|
2014-05-20 01:36:41 +08:00
|
|
|
other_person.is_a?(Person) && id.to_s == other_person.id.to_s
|
2014-05-19 18:06:09 +08:00
|
|
|
end
|
2014-05-20 01:32:05 +08:00
|
|
|
end
|