class Service

Ruby on Rails 6.1.7.10

Since v5.2.8.1

Available in: v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Abstract class serving as an interface for concrete services.

The available services are:

  • Disk, to manage attachments saved directly on the hard drive.

  • GCS, to manage attachments through Google Cloud Storage.

  • S3, to manage attachments through Amazon S3.

  • AzureStorage, to manage attachments through Microsoft Azure Storage.

  • Mirror, to be able to use several services to manage attachments.

Inside a Rails application, you can set-up your services through the generated config/storage.yml file and reference one of the aforementioned constant under the service key. For example:

local:
  service: Disk
  root: <%= Rails.root.join("storage") %>

You can checkout the service’s constructor to know which keys are required.

Then, in your application’s configuration, you can specify the service to use like this:

config.active_storage.service = :local

If you are using Active Storage outside of a Ruby on Rails application, you can configure the service to use like this:

ActiveStorage::Blob.service = ActiveStorage::Service.configure(
  :Disk,
  root: Pathname("/foo/bar/storage")
)

Inherits from

Object

Namespace

Classes

Extends

Attributes

Methods (defined here)

Private methods

(5) Implementation detail — not part of the public API.

Used by

Subclasses (5)

Methods (inherited)

From ActiveSupport::Autoload (6)
From Object (17)
From ActiveRecord::TestFixtures (4)
From ActiveSupport::Concern (3)

Type at least 2 characters to search.

↑↓ navigate · open · esc close