Skip to content

Instantly share code, notes, and snippets.

@KamilLelonek
Created March 27, 2015 10:14
Show Gist options
  • Save KamilLelonek/07dc2e386d718caf58a9 to your computer and use it in GitHub Desktop.
Save KamilLelonek/07dc2e386d718caf58a9 to your computer and use it in GitHub Desktop.
How to delegate methods in Ruby
class LazyEmployee
def initialize(sandwich_maker)
@sandwich_maker = sandwich_maker
end
def make_me_a_sandwich
sandwich_maker.make_me_a_sandwich
end
private
attr_reader :sandwich_maker
end
[1] (pry) main: 0> sandwich_maker = SandwichMaker.new
=> #<SandwichMaker:0x007f8a528331a8>
[2] (pry) main: 0> lazy_employee = LazyEmployee.new(sandwich_maker)
=> #<LazyEmployee:0x007f8a52240930 @sandwich_maker=#<SandwichMaker:0x007f8a528331a8>>
[3] (pry) main: 0> lazy_employee.make_me_a_sandwich
OKAY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment