Skip to content

Instantly share code, notes, and snippets.

@christopherslee
Last active December 17, 2015 00:29
Show Gist options
  • Save christopherslee/5521664 to your computer and use it in GitHub Desktop.
Save christopherslee/5521664 to your computer and use it in GitHub Desktop.
Introduction to Metaprogramming: Lesson 2
class Customer
attr_reader :id, :datasource
def initialize(id, datasource)
@id = id
@datasource = datasource
end
def first
field :first
end
def last
field :last
end
def email
field :email
end
def age
field :age
end
private
def field(fieldname)
value = datasource.send("get_#{fieldname}_value", id)
"#{fieldname.capitalize}: #{value}"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment