Skip to content

Instantly share code, notes, and snippets.

@asvetly
Last active September 5, 2017 08:04
Show Gist options
  • Save asvetly/e9691f56dec0f7693acd91c4bb56f8bc to your computer and use it in GitHub Desktop.
Save asvetly/e9691f56dec0f7693acd91c4bb56f8bc to your computer and use it in GitHub Desktop.
require ‘forwardable’
class Blog
def edit_post
puts “Post edited”
end
def delete_post
puts “Post removed”
end
def create_post
puts “Post created”
end
end
class Moderator
extend Forwardable
def_delegators :@blog, :edit_post
def initialize(blog)
@blog = blog
end
end
moderator = Moderator.new(Blog.new)
moderator.edit_post
moderator.delete_post
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment