-
Notifications
You must be signed in to change notification settings - Fork 22.1k
Closed
Labels
Milestone
Description
Here's a common pattern if you want to build a decorator:
class Partition
def initialize(first_event)
@events = [ first_event ]
end
def people
if @events.first.detail.people.any?
@events.collect { |e| Array(e.detail.people) }.flatten.uniq
else
@events.collect(&:creator).uniq
end
end
private
def respond_to_missing?(name, include_private = false)
@events.respond_to?(name, include_private)
end
def method_missing(method, *args, &block)
@events.send(method, *args, &block)
end
endWould be nice to have it as:
class Partition
delegate_missing_to :@events
def initialize(first_event)
@events = [ first_event ]
end
def people
if @events.first.detail.people.any?
@events.collect { |e| Array(e.detail.people) }.flatten.uniq
else
@events.collect(&:creator).uniq
end
end
endcmrichards, anonoz, ignacio-chiazzo, santib, goodsign and 2 moretony612ignacio-chiazzo, goodsign and davidalejandroaguilar