def seed_cache
        block = @block || (@blueprint && @blueprint.proc)
        block_result = if @options[:pass_options]
            @receiver.send(@method, @options)
          else
            block.nil? ? @receiver.instance_eval(@method) : @receiver.instance_eval(&block)
          end
        @result = ResultProcessor.new(block_result, @options)
        write_cache(@result.to_cache)
        @result
      end
def seed_cache
        block = @block || (@blueprint && @blueprint.proc)
        block_result = if @options[:pass_options]
            @receiver.send(@method, @options)
          else
            block.nil? ? @receiver.instance_eval(@method) : @receiver.instance_eval(&block)
          end
        @result = ResultProcessor.new(block_result, @options)
        write_cache(@result.to_cache)
        @result
      end
Seed the cache by executing the stored block (or by calling a method on the object)
 and storing the result in the cache.  Return the processed result ready to return
 to the user.