Skip to content

Instantly share code, notes, and snippets.

@aristotelesbr
Created February 24, 2020 01:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aristotelesbr/06c0bdd6b586b49fccefd529914e4953 to your computer and use it in GitHub Desktop.
Save aristotelesbr/06c0bdd6b586b49fccefd529914e4953 to your computer and use it in GitHub Desktop.
# frozen_string_literal: true
class Customer
attr_reader :name, :document, :email, :address
def initialize(first_name, last_name, document, email, address)
@name = ValueObjects::Name.new(first_name, last_name)
@document = document
@email = email
@address = address
end
end
# frozen_string_literal: true
class Lawyer
def initialize(first_name, last_name, document, email, address)
@first_name = first_name
@last_name = last_name
@document = document
@email = email
@address = address
end
def to_s
"#{first_name} #{last_name}"
end
end
# frozen_string_literal: true
class Lawyer
def initialize(first_name, last_name, document, email, address)
@first_name = first_name
@last_name = last_name
@document = document
@email = email
@address = address
end
def to_s
"#{first_name} #{last_name}"
end
end
# frozen_string_literal: true
module ValueObjects
class Name
def initialize(first_name, last_name)
@first_name = first_name
@last_name = last_name
end
def to_s
"#{@first_name} #{@last_name}"
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment