0.0
No release in over a year
Shrine storage adapter for Valkyrie
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 2.0.0.pre.beta1
~> 2.0
~> 0.8.3
>= 0
>= 12.3.3
~> 3.0

Runtime

>= 2.0, < 4.0
 Project Readme

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/shrine/checksum/s3'
  require 'valkyrie/shrine/checksum/file_system'
  require 'valkyrie/shrine/storage/s3'

  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
  )

  s3_options = {
    access_key_id: s3_access_key,
    bucket: s3_bucket,
    endpoint: s3_endpoint,
    force_path_style: force_path_style,
    region: s3_region,
    secret_access_key: s3_secret_key
  }
  Valkyrie::StorageAdapter.register(
    Valkyrie::Storage::VersionedShrine.new(Valkyrie::Shrine::Storage::S3.new(**s3_options)), :versioned_s3
  )

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.