diff --git a/lib/draper/decorated_enumerable_proxy.rb b/lib/draper/decorated_enumerable_proxy.rb index 73bbe1b..023995d 100644 --- a/lib/draper/decorated_enumerable_proxy.rb +++ b/lib/draper/decorated_enumerable_proxy.rb @@ -26,6 +26,10 @@ module Draper @wrapped_collection == other end + def [](index) + @klass.new(@wrapped_collection[index], @context) + end + def to_s "#" end diff --git a/spec/draper/base_spec.rb b/spec/draper/base_spec.rb index 02cc01a..4e6d71f 100644 --- a/spec/draper/base_spec.rb +++ b/spec/draper/base_spec.rb @@ -269,6 +269,12 @@ describe Draper::Base do subject_one.should_not == subject_two end + it "should allow decorated access by index" do + subject = ProductDecorator.decorate(paged_array) + + subject[0].should be_instance_of ProductDecorator + end + context '#all' do it "should return a decorated collection" do ProductDecorator.all.first.should be_instance_of ProductDecorator