I’ve developed some code that allows you to use s3 as a cache store
(ie store your cache fragments at s3 instead of your web server).
It works great when I have the code in my lib/ folder.
Now I want to package it as a plugin. i’m stuck.
My plugin directory is structured:
My init.rb file is this:
My lib/s3_cache file begins with:
class S3Cache <
def initialize(bucket, cache_directory)
@aws_access_key = ‘YOURAWSACCESSKEY’ # your AWS ACCESS
@aws_secret_access_key = ‘YOURAWSSECRETKEY’ # your SECRET
@bucket = bucket
In my config/environments/development.rb file I add the following
The problem is now when I start my server, I get the following error
active_support/dependencies.rb:123:in `const_missing’: uninitialized
constant S3Cache (NameError)
Everything works fine if I put s3_cache.rb and s3.rb in my lib/
folder. But I seem to be missing something in init.rb of my plugin or
have something else structured wrong.
ps. check it out at www.quizical.net and see if you can tell speed-
wise that I’m storing cache fragments at s3. I’m also serving up all
of my public directory from s3 too - essentially using it as my asset