diff --git a/lib/sinatra/decorator/decoratable.rb b/lib/sinatra/decorator/decoratable.rb index 77c58fd..03d4d27 100644 --- a/lib/sinatra/decorator/decoratable.rb +++ b/lib/sinatra/decorator/decoratable.rb @@ -2,6 +2,7 @@ module Sinatra module Decorator module Decoratable def decorate(options = {}) + return @decorator if @decorator klass = options[:as] klass_name = "#{self.class}Decorator" @@ -9,7 +10,7 @@ def decorate(options = {}) decorator = klass.new(self, context: self) yield decorator if block_given? - decorator + @decorator = decorator end end # Decoratable end # Decorator