draper/lib/draper/model_support.rb

18 lines
511 B
Ruby
Raw Normal View History

module Draper::ModelSupport
2012-03-27 19:47:27 +00:00
extend ActiveSupport::Concern
def decorator(options = {})
@decorator ||= "#{self.class.name}Decorator".constantize.decorate(self, options.merge(:infer => false))
block_given? ? yield(@decorator) : @decorator
end
alias :decorate :decorator
module ClassMethods
def decorate(options = {})
decorator_proxy = "#{model_name}Decorator".constantize.decorate(self.scoped, options)
block_given? ? yield(decorator_proxy) : decorator_proxy
end
end
end