Valkyrie::Shrine
Shrine storage adapter for Valkyrie.
Installation
Add this line to your application's Gemfile:
gem 'valkyrie-shrine'
Usage
Follow the Valkyrie README to get a development or production environment up and running. To enable Shrine support, add the following to your application's config/initializers/valkyrie.rb:
# config/initializers/valkyrie.rb
require 'shrine/storage/s3'
require 'shrine/storage/file_system'
require 'valkyrie/storage/shrine/checksum/s3'
require 'valkyrie/storage/shrine/checksum/file_system'
Shrine.storages = {
file: Shrine::Storage::FileSystem.new("public", prefix: "uploads"),
s3: Shrine::Storage::S3.new(bucket: 'donut-uploads', prefix: 'cache')
}
Valkyrie::StorageAdapter.register(
Valkyrie::Storage::Shrine.new(Shrine.storages[:s3]), :s3
)
Valkyrie::StorageAdapter.register(
Valkyrie::Storage::Shrine.new(Shrine.storages[:file]), :disk
)
Then proceed to configure your application following the Valkyrie documentation
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/samvera-labs/valkyrie-shrine.