Skip to content

Instantly share code, notes, and snippets.

@sighmin
Created September 29, 2015 19:49
Show Gist options
  • Save sighmin/476368d6f2998b71801e to your computer and use it in GitHub Desktop.
Save sighmin/476368d6f2998b71801e to your computer and use it in GitHub Desktop.
class UserView < SimpleDelegator
def initialize(delegate, salutation: 'Padawan')
super(delegate)
@salutation = salutation
end
def fullname
"#{salutation} #{first_name} #{last_name}"
end
private
attr_reader :salutation
end
user_view = UserView.new(user, salutation: "Jedi Master")
user_view.full_name #=> "Jedi Master Luke Skywalker"
# Horay for keyword arguments!
user_view = UserView.new(user)
user_view.full_name #=> "Padawan Luke Skywalker"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment