From 5cb6f7210a1f2278e63620bb1fb6a1f386f88820 Mon Sep 17 00:00:00 2001 From: Jeff Casimir Date: Wed, 19 Oct 2011 23:26:00 -0400 Subject: [PATCH] Automatically create a named accessor method for the wrapped model --- lib/draper/base.rb | 1 + spec/base_spec.rb | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/lib/draper/base.rb b/lib/draper/base.rb index 7edddbc..1037f93 100644 --- a/lib/draper/base.rb +++ b/lib/draper/base.rb @@ -51,6 +51,7 @@ module Draper def self.decorates(input) self.model_class = input.to_s.camelize.constantize model_class.send :include, Draper::ModelSupport + define_method(input){ @model } end # Specifies a black list of methods which may *not* be proxied to diff --git a/spec/base_spec.rb b/spec/base_spec.rb index de592e0..abec214 100644 --- a/spec/base_spec.rb +++ b/spec/base_spec.rb @@ -40,6 +40,11 @@ describe Draper::Base do BusinessDecorator.model_class.should == Business end.should_not raise_error end + + it "creates a named accessor for the wrapped model" do + pd = ProductDecorator.new(source) + pd.send(:product).should == source + end end context(".model / .to_model") do