From 834a6fd1f24b5646c333a04a99fe9846a58965d6 Mon Sep 17 00:00:00 2001 From: Andrew Haines Date: Tue, 30 Oct 2012 22:47:13 +0000 Subject: [PATCH] Add decorated? method --- lib/draper/decoratable.rb | 4 ++++ lib/draper/decorator.rb | 4 ++++ spec/draper/decoratable_spec.rb | 6 ++++++ spec/draper/decorator_spec.rb | 6 ++++++ 4 files changed, 20 insertions(+) diff --git a/lib/draper/decoratable.rb b/lib/draper/decoratable.rb index b9f8bdd..591e7bd 100644 --- a/lib/draper/decoratable.rb +++ b/lib/draper/decoratable.rb @@ -20,6 +20,10 @@ module Draper::Decoratable false end + def decorated? + false + end + module ClassMethods def decorate(options = {}) decorator_proxy = decorator_class.decorate(self.scoped, options) diff --git a/lib/draper/decorator.rb b/lib/draper/decorator.rb index d0695c4..1ca1088 100755 --- a/lib/draper/decorator.rb +++ b/lib/draper/decorator.rb @@ -187,6 +187,10 @@ module Draper applied_decorators.include?(decorator_class) end + def decorated? + true + end + # Delegates == to the decorated models # # @return [Boolean] true if other's model == self's model diff --git a/spec/draper/decoratable_spec.rb b/spec/draper/decoratable_spec.rb index 626872a..ab276da 100644 --- a/spec/draper/decoratable_spec.rb +++ b/spec/draper/decoratable_spec.rb @@ -29,6 +29,12 @@ describe Draper::Decoratable do end end + describe "#decorated?" do + it "returns false" do + subject.should_not be_decorated + end + end + describe Draper::Decoratable::ClassMethods do shared_examples_for "a call to Draper::Decoratable::ClassMethods#decorate" do subject { klass.limit } diff --git a/spec/draper/decorator_spec.rb b/spec/draper/decorator_spec.rb index edac2a6..bf768b0 100755 --- a/spec/draper/decorator_spec.rb +++ b/spec/draper/decorator_spec.rb @@ -284,6 +284,12 @@ describe Draper::Decorator do end end + describe "#decorated?" do + it "returns true" do + subject.should be_decorated + end + end + context(".wrapped_object") do it "return the wrapped object" do subject.wrapped_object.should == source