diff --git a/lib/draper.rb b/lib/draper.rb index 79ac9d7..77f7ea4 100644 --- a/lib/draper.rb +++ b/lib/draper.rb @@ -2,7 +2,6 @@ require 'action_view' require 'draper/version' require 'draper/system' -require 'draper/active_model_support' require 'draper/view_helpers' require 'draper/finders' require 'draper/decorator' diff --git a/lib/draper/active_model_support.rb b/lib/draper/active_model_support.rb deleted file mode 100755 index 68a3b72..0000000 --- a/lib/draper/active_model_support.rb +++ /dev/null @@ -1,11 +0,0 @@ -module Draper - module ActiveModelSupport - def to_model - self - end - - def to_param - model.to_param - end - end -end diff --git a/lib/draper/decorator.rb b/lib/draper/decorator.rb index d084b40..c55b51c 100755 --- a/lib/draper/decorator.rb +++ b/lib/draper/decorator.rb @@ -2,7 +2,6 @@ require 'active_support/core_ext/array/extract_options' module Draper class Decorator - include ActiveModelSupport include Draper::ViewHelpers attr_accessor :source, :options @@ -215,6 +214,15 @@ module Draper options[:context] = input end + # For ActiveModel compatibilty + def to_model + self + end + + # For ActiveModel compatibility + def to_param + source.to_param + end private diff --git a/spec/draper/decorator_spec.rb b/spec/draper/decorator_spec.rb index 531099c..5372212 100755 --- a/spec/draper/decorator_spec.rb +++ b/spec/draper/decorator_spec.rb @@ -357,12 +357,18 @@ describe Draper::Decorator do subject.source.should be source end + it "is aliased to #to_source" do + subject.to_source.should be source + end + it "is aliased to #model" do subject.model.should be source end + end - it "is aliased to #to_source" do - subject.to_source.should be source + describe "#to_model" do + it "returns the decorator" do + subject.to_model.should be subject end end