Dragonfly::MantaDataStore
Joyent Manta data store for use with the Dragonfly gem. Inspired by the S3 Dragonfly gem.
Gemfile
gem 'dragonfly-manta_data_store'
Usage
Configuration (remember the require)
require 'dragonfly/manta_data_store'
Dragonfly.app.configure do
# ...
datastore :manta,
directory: 'my_images',
url: 'https://us-east.manta.joyent.com',
user: 'myuser,
key: 'actual ASCII ssh key (load from file or ENV)',
durability_level: 2
# ...
end
Available configuration options
:directory # base directory within your public directory
:url # defaults to "https://us-east.manta.joyent.com"
:user # your joyent user
:key # SSH ASCII key
:durability_level # defaults to 2
:region # defaults to 'us-east'
:url_scheme # defaults to 'http'
:url_host # maybe useful for a CDN?
:root_path # another base directory on top of :directory (mostly to match the S3 store)
:storage_headers # headers to include for all stored objects
Serving directly from Manta
You can get the Manta url using
Dragonfly.app.remote_url_for('some/uid')
or
my_model.attachment.remote_url
or with an expiring url:
my_model.attachment.remote_url(expires: 3.days.from_now)
or with an https url:
my_model.attachment.remote_url(scheme: 'https') # also configurable for all urls with 'url_scheme'
or with a custom host:
my_model.attachment.remote_url(host: 'custom.domain') # also configurable for all urls with 'url_host'