Skip to content

Instantly share code, notes, and snippets.

@jphenow
Created November 19, 2014 17:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jphenow/cfb838d9e9550bbc749a to your computer and use it in GitHub Desktop.
Save jphenow/cfb838d9e9550bbc749a to your computer and use it in GitHub Desktop.
Specific Purpose Model Decoration
class ResourcePurchase::ResourceDecorators::Base < SimpleDelegator
def anew
end
def renew
end
end
# You could write a router if you want to make this follow
# something of a Factory pattern or do something like
class MembershipEvent
# This could be abstracted into the Purchasable to
# _try_ to find a related class
def resource_purchase_class
ResourcePurchase::ResourceDecorators::MembershipEvent
end
# Can also be abstracted
def resource_purchase_instance
resource_purchase_class.new(self)
end
end
resource_purchase.item.resource_purchase_instance.anew
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment