[ ruby ] DelegateClass

Tempfile‘s parent is `DelegateClass(File)`.

 

Declaration

class Person < ActiveRecord::Base
end

class Seller  :__getobj__

def items
Item.for_seller_id(id)
end

def transactions
Transaction.for_seller_id(id)
end

def is_seller?
items.present?
end

def amount_owed
# => some fancy math
end
end

Usage

person = Person.find(1)
seller = Seller.new(person)

ref : https://content.pivotal.io/blog/delegateclass-rocks-my-world

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s