Valkyrie::Shrine

Shrine storage adapter for Valkyrie.

CircleCI Coverage Status

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.