aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Gemfile.lock4
-rw-r--r--README.md4
-rw-r--r--activestorage.gemspec (renamed from activevault.gemspec)4
-rw-r--r--lib/active_storage.rb (renamed from lib/active_vault.rb)4
-rw-r--r--lib/active_storage/attached.rb (renamed from lib/active_vault/attached.rb)18
-rw-r--r--lib/active_storage/attached/macros.rb23
-rw-r--r--lib/active_storage/attached/many.rb (renamed from lib/active_vault/attached/many.rb)6
-rw-r--r--lib/active_storage/attached/one.rb (renamed from lib/active_vault/attached/one.rb)6
-rw-r--r--lib/active_storage/attachment.rb (renamed from lib/active_vault/attachment.rb)10
-rw-r--r--lib/active_storage/blob.rb (renamed from lib/active_vault/blob.rb)14
-rw-r--r--lib/active_storage/config/sites.yml (renamed from lib/active_vault/config/sites.yml)6
-rw-r--r--lib/active_storage/disk_controller.rb (renamed from lib/active_vault/disk_controller.rb)10
-rw-r--r--lib/active_storage/download.rb (renamed from lib/active_vault/download.rb)2
-rw-r--r--lib/active_storage/filename.rb (renamed from lib/active_vault/filename.rb)2
-rw-r--r--lib/active_storage/migration.rb (renamed from lib/active_vault/migration.rb)6
-rw-r--r--lib/active_storage/purge_job.rb (renamed from lib/active_vault/purge_job.rb)4
-rw-r--r--lib/active_storage/railtie.rb27
-rw-r--r--lib/active_storage/site.rb (renamed from lib/active_vault/site.rb)6
-rw-r--r--lib/active_storage/site/disk_site.rb (renamed from lib/active_vault/site/disk_site.rb)4
-rw-r--r--lib/active_storage/site/gcs_site.rb (renamed from lib/active_vault/site/gcs_site.rb)2
-rw-r--r--lib/active_storage/site/mirror_site.rb (renamed from lib/active_vault/site/mirror_site.rb)2
-rw-r--r--lib/active_storage/site/s3_site.rb (renamed from lib/active_vault/site/s3_site.rb)2
-rw-r--r--lib/active_storage/verified_key_with_expiration.rb (renamed from lib/active_vault/verified_key_with_expiration.rb)4
-rw-r--r--lib/active_vault/attached/macros.rb23
-rw-r--r--lib/active_vault/railtie.rb27
-rw-r--r--test/attachments_test.rb24
-rw-r--r--test/blob_test.rb6
-rw-r--r--test/database/create_users_migration.rb2
-rw-r--r--test/database/setup.rb6
-rw-r--r--test/disk_controller_test.rb14
-rw-r--r--test/filename_test.rb12
-rw-r--r--test/site/disk_site_test.rb6
-rw-r--r--test/site/gcs_site_test.rb6
-rw-r--r--test/site/mirror_site_test.rb19
-rw-r--r--test/site/s3_site_test.rb6
-rw-r--r--test/site/shared_site_tests.rb2
-rw-r--r--test/test_helper.rb18
-rw-r--r--test/verified_key_with_expiration_test.rb12
38 files changed, 173 insertions, 180 deletions
diff --git a/Gemfile.lock b/Gemfile.lock
index e20ba22218..afef3518aa 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
- activevault (0.1)
+ activestorage (0.1)
actionpack (>= 5.1)
activejob (>= 5.1)
activerecord (>= 5.1)
@@ -223,7 +223,7 @@ PLATFORMS
ruby
DEPENDENCIES
- activevault!
+ activestorage!
aws-sdk
bundler (~> 1.15)
byebug
diff --git a/README.md b/README.md
index 97101c6099..8803cd9f3b 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ user.avatar.exist? # => true
user.avatar.purge
user.avatar.exist? # => false
-user.image.url(expires_in: 5.minutes) # => /rails/blobs/<encoded-key>
+user.avatar.url(expires_in: 5.minutes) # => /rails/blobs/<encoded-key>
class AvatarsController < ApplicationController
def update
@@ -55,7 +55,7 @@ end
## Configuration
-Add `require "active_vault"` to config/application.rb and create a `config/initializers/active_vault_sites.rb` with the following:
+Add `require "active_storage"` to config/application.rb and create a `config/initializers/active_storage_sites.rb` with the following:
```ruby
diff --git a/activevault.gemspec b/activestorage.gemspec
index 7144563d18..4670bd1502 100644
--- a/activevault.gemspec
+++ b/activestorage.gemspec
@@ -1,10 +1,10 @@
Gem::Specification.new do |s|
- s.name = "activevault"
+ s.name = "activestorage"
s.version = "0.1"
s.authors = "David Heinemeier Hansson"
s.email = "david@basecamp.com"
s.summary = "Store files in Rails applications"
- s.homepage = "https://github.com/rails/activevault"
+ s.homepage = "https://github.com/rails/activestorage"
s.license = "MIT"
s.required_ruby_version = ">= 1.9.3"
diff --git a/lib/active_vault.rb b/lib/active_storage.rb
index f47b09b4cd..e87eb8a506 100644
--- a/lib/active_vault.rb
+++ b/lib/active_storage.rb
@@ -1,7 +1,7 @@
require "active_record"
-require "active_vault/railtie" if defined?(Rails)
+require "active_storage/railtie" if defined?(Rails)
-module ActiveVault
+module ActiveStorage
extend ActiveSupport::Autoload
autoload :Blob
diff --git a/lib/active_vault/attached.rb b/lib/active_storage/attached.rb
index a968f3500d..7475c38999 100644
--- a/lib/active_vault/attached.rb
+++ b/lib/active_storage/attached.rb
@@ -1,10 +1,10 @@
-require "active_vault/blob"
-require "active_vault/attachment"
+require "active_storage/blob"
+require "active_storage/attachment"
require "action_dispatch/http/upload"
require "active_support/core_ext/module/delegation"
-class ActiveVault::Attached
+class ActiveStorage::Attached
attr_reader :name, :record
def initialize(name, record)
@@ -14,21 +14,21 @@ class ActiveVault::Attached
private
def create_blob_from(attachable)
case attachable
- when ActiveVault::Blob
+ when ActiveStorage::Blob
attachable
when ActionDispatch::Http::UploadedFile
- ActiveVault::Blob.create_after_upload! \
+ ActiveStorage::Blob.create_after_upload! \
io: attachable.open,
filename: attachable.original_filename,
content_type: attachable.content_type
when Hash
- ActiveVault::Blob.create_after_upload!(attachable)
+ ActiveStorage::Blob.create_after_upload!(attachable)
else
nil
end
end
end
-require "active_vault/attached/one"
-require "active_vault/attached/many"
-require "active_vault/attached/macros"
+require "active_storage/attached/one"
+require "active_storage/attached/many"
+require "active_storage/attached/macros"
diff --git a/lib/active_storage/attached/macros.rb b/lib/active_storage/attached/macros.rb
new file mode 100644
index 0000000000..96493d1215
--- /dev/null
+++ b/lib/active_storage/attached/macros.rb
@@ -0,0 +1,23 @@
+module ActiveStorage::Attached::Macros
+ def has_one_attached(name, dependent: :purge_later)
+ define_method(name) do
+ instance_variable_get("@active_storage_attached_#{name}") ||
+ instance_variable_set("@active_storage_attached_#{name}", ActiveStorage::Attached::One.new(name, self))
+ end
+
+ if dependent == :purge_later
+ before_destroy { public_send(name).purge_later }
+ end
+ end
+
+ def has_many_attached(name, dependent: :purge_later)
+ define_method(name) do
+ instance_variable_get("@active_storage_attached_#{name}") ||
+ instance_variable_set("@active_storage_attached_#{name}", ActiveStorage::Attached::Many.new(name, self))
+ end
+
+ if dependent == :purge_later
+ before_destroy { public_send(name).purge_later }
+ end
+ end
+end
diff --git a/lib/active_vault/attached/many.rb b/lib/active_storage/attached/many.rb
index 6f79a1c555..f1535dfbc6 100644
--- a/lib/active_vault/attached/many.rb
+++ b/lib/active_storage/attached/many.rb
@@ -1,13 +1,13 @@
-class ActiveVault::Attached::Many < ActiveVault::Attached
+class ActiveStorage::Attached::Many < ActiveStorage::Attached
delegate_missing_to :attachments
def attachments
- @attachments ||= ActiveVault::Attachment.where(record_gid: record.to_gid.to_s, name: name)
+ @attachments ||= ActiveStorage::Attachment.where(record_gid: record.to_gid.to_s, name: name)
end
def attach(*attachables)
@attachments = attachments | Array(attachables).flatten.collect do |attachable|
- ActiveVault::Attachment.create!(record_gid: record.to_gid.to_s, name: name, blob: create_blob_from(attachable))
+ ActiveStorage::Attachment.create!(record_gid: record.to_gid.to_s, name: name, blob: create_blob_from(attachable))
end
end
diff --git a/lib/active_vault/attached/one.rb b/lib/active_storage/attached/one.rb
index 01a5d0d6f0..d08d265992 100644
--- a/lib/active_vault/attached/one.rb
+++ b/lib/active_storage/attached/one.rb
@@ -1,12 +1,12 @@
-class ActiveVault::Attached::One < ActiveVault::Attached
+class ActiveStorage::Attached::One < ActiveStorage::Attached
delegate_missing_to :attachment
def attachment
- @attachment ||= ActiveVault::Attachment.find_by(record_gid: record.to_gid.to_s, name: name)
+ @attachment ||= ActiveStorage::Attachment.find_by(record_gid: record.to_gid.to_s, name: name)
end
def attach(attachable)
- @attachment = ActiveVault::Attachment.create!(record_gid: record.to_gid.to_s, name: name, blob: create_blob_from(attachable))
+ @attachment = ActiveStorage::Attachment.create!(record_gid: record.to_gid.to_s, name: name, blob: create_blob_from(attachable))
end
def attached?
diff --git a/lib/active_vault/attachment.rb b/lib/active_storage/attachment.rb
index 549a734d68..20c619aa5a 100644
--- a/lib/active_vault/attachment.rb
+++ b/lib/active_storage/attachment.rb
@@ -1,12 +1,12 @@
-require "active_vault/blob"
+require "active_storage/blob"
require "global_id"
require "active_support/core_ext/module/delegation"
# Schema: id, record_gid, blob_id, created_at
-class ActiveVault::Attachment < ActiveRecord::Base
- self.table_name = "active_vault_attachments"
+class ActiveStorage::Attachment < ActiveRecord::Base
+ self.table_name = "active_storage_attachments"
- belongs_to :blob, class_name: "ActiveVault::Blob"
+ belongs_to :blob, class_name: "ActiveStorage::Blob"
delegate_missing_to :blob
@@ -25,6 +25,6 @@ class ActiveVault::Attachment < ActiveRecord::Base
end
def purge_later
- ActiveVault::PurgeJob.perform_later(self)
+ ActiveStorage::PurgeJob.perform_later(self)
end
end
diff --git a/lib/active_vault/blob.rb b/lib/active_storage/blob.rb
index a232ca5c1a..edf57b5c78 100644
--- a/lib/active_vault/blob.rb
+++ b/lib/active_storage/blob.rb
@@ -1,10 +1,10 @@
-require "active_vault/site"
-require "active_vault/filename"
-require "active_vault/purge_job"
+require "active_storage/site"
+require "active_storage/filename"
+require "active_storage/purge_job"
# Schema: id, key, filename, content_type, metadata, byte_size, checksum, created_at
-class ActiveVault::Blob < ActiveRecord::Base
- self.table_name = "active_vault_blobs"
+class ActiveStorage::Blob < ActiveRecord::Base
+ self.table_name = "active_storage_blobs"
has_secure_token :key
store :metadata, coder: JSON
@@ -33,7 +33,7 @@ class ActiveVault::Blob < ActiveRecord::Base
end
def filename
- ActiveVault::Filename.new(self[:filename])
+ ActiveStorage::Filename.new(self[:filename])
end
def url(expires_in: 5.minutes, disposition: :inline)
@@ -63,6 +63,6 @@ class ActiveVault::Blob < ActiveRecord::Base
end
def purge_later
- ActiveVault::PurgeJob.perform_later(self)
+ ActiveStorage::PurgeJob.perform_later(self)
end
end
diff --git a/lib/active_vault/config/sites.yml b/lib/active_storage/config/sites.yml
index 334e779b28..43bc77fbf9 100644
--- a/lib/active_vault/config/sites.yml
+++ b/lib/active_storage/config/sites.yml
@@ -1,13 +1,13 @@
# Configuration should be something like this:
#
# config/environments/development.rb
-# config.active_vault.site = :local
+# config.active_storage.site = :local
#
# config/environments/production.rb
-# config.active_vault.site = :amazon
+# config.active_storage.site = :amazon
local:
site: Disk
- root: <%%= File.join(Dir.tmpdir, "active_vault") %>
+ root: <%%= File.join(Dir.tmpdir, "active_storage") %>
amazon:
site: S3
diff --git a/lib/active_vault/disk_controller.rb b/lib/active_storage/disk_controller.rb
index 623569f0f6..3eba86c213 100644
--- a/lib/active_vault/disk_controller.rb
+++ b/lib/active_storage/disk_controller.rb
@@ -1,13 +1,13 @@
require "action_controller"
-require "active_vault/blob"
-require "active_vault/verified_key_with_expiration"
+require "active_storage/blob"
+require "active_storage/verified_key_with_expiration"
require "active_support/core_ext/object/inclusion"
-class ActiveVault::DiskController < ActionController::Base
+class ActiveStorage::DiskController < ActionController::Base
def show
if key = decode_verified_key
- blob = ActiveVault::Blob.find_by!(key: key)
+ blob = ActiveStorage::Blob.find_by!(key: key)
if stale?(etag: blob.checksum)
send_data blob.download, filename: blob.filename, type: blob.content_type, disposition: disposition_param
@@ -19,7 +19,7 @@ class ActiveVault::DiskController < ActionController::Base
private
def decode_verified_key
- ActiveVault::VerifiedKeyWithExpiration.decode(params[:encoded_key])
+ ActiveStorage::VerifiedKeyWithExpiration.decode(params[:encoded_key])
end
def disposition_param
diff --git a/lib/active_vault/download.rb b/lib/active_storage/download.rb
index 6e74056062..4d656942d8 100644
--- a/lib/active_vault/download.rb
+++ b/lib/active_storage/download.rb
@@ -1,4 +1,4 @@
-class ActiveVault::Download
+class ActiveStorage::Download
# Sending .ai files as application/postscript to Safari opens them in a blank, grey screen.
# Downloading .ai as application/postscript files in Safari appends .ps to the extension.
# Sending HTML, SVG, XML and SWF files as binary closes XSS vulnerabilities.
diff --git a/lib/active_vault/filename.rb b/lib/active_storage/filename.rb
index 647d037b1f..71614b5113 100644
--- a/lib/active_vault/filename.rb
+++ b/lib/active_storage/filename.rb
@@ -1,4 +1,4 @@
-class ActiveVault::Filename
+class ActiveStorage::Filename
include Comparable
def initialize(filename)
diff --git a/lib/active_vault/migration.rb b/lib/active_storage/migration.rb
index 985d26d1b9..c0400abe3b 100644
--- a/lib/active_vault/migration.rb
+++ b/lib/active_storage/migration.rb
@@ -1,6 +1,6 @@
-class ActiveVault::CreateTables < ActiveRecord::Migration[5.1]
+class ActiveStorage::CreateTables < ActiveRecord::Migration[5.1]
def change
- create_table :active_vault_blobs do |t|
+ create_table :active_storage_blobs do |t|
t.string :key
t.string :filename
t.string :content_type
@@ -12,7 +12,7 @@ class ActiveVault::CreateTables < ActiveRecord::Migration[5.1]
t.index [ :key ], unique: true
end
- create_table :active_vault_attachments do |t|
+ create_table :active_storage_attachments do |t|
t.string :name
t.string :record_gid
t.integer :blob_id
diff --git a/lib/active_vault/purge_job.rb b/lib/active_storage/purge_job.rb
index b68eb370bb..b59d3687f8 100644
--- a/lib/active_vault/purge_job.rb
+++ b/lib/active_storage/purge_job.rb
@@ -1,7 +1,7 @@
require "active_job"
-class ActiveVault::PurgeJob < ActiveJob::Base
- # FIXME: Limit this to a custom ActiveVault error
+class ActiveStorage::PurgeJob < ActiveJob::Base
+ # FIXME: Limit this to a custom ActiveStorage error
retry_on StandardError
def perform(attachment_or_blob)
diff --git a/lib/active_storage/railtie.rb b/lib/active_storage/railtie.rb
new file mode 100644
index 0000000000..bf38d5aff5
--- /dev/null
+++ b/lib/active_storage/railtie.rb
@@ -0,0 +1,27 @@
+require "rails/railtie"
+
+module ActiveStorage
+ class Railtie < Rails::Railtie # :nodoc:
+ config.active_storage = ActiveSupport::OrderedOptions.new
+
+ config.eager_load_namespaces << ActiveStorage
+
+ initializer "active_storage.routes" do
+ require "active_storage/disk_controller"
+
+ config.after_initialize do |app|
+ app.routes.prepend do
+ get "/rails/blobs/:encoded_key" => "active_storage/disk#show", as: :rails_disk_blob
+ end
+ end
+ end
+
+ initializer "active_storage.attached" do
+ require "active_storage/attached"
+
+ ActiveSupport.on_load(:active_record) do
+ extend ActiveStorage::Attached::Macros
+ end
+ end
+ end
+end
diff --git a/lib/active_vault/site.rb b/lib/active_storage/site.rb
index 29eddf1566..b3b0221c63 100644
--- a/lib/active_vault/site.rb
+++ b/lib/active_storage/site.rb
@@ -1,9 +1,9 @@
# Abstract class serving as an interface for concrete sites.
-class ActiveVault::Site
+class ActiveStorage::Site
def self.configure(site, **options)
begin
- require "active_vault/site/#{site.to_s.downcase}_site"
- ActiveVault::Site.const_get(:"#{site}Site").new(**options)
+ require "active_storage/site/#{site.to_s.downcase}_site"
+ ActiveStorage::Site.const_get(:"#{site}Site").new(**options)
rescue LoadError => e
puts "Couldn't configure site: #{site} (#{e.message})"
end
diff --git a/lib/active_vault/site/disk_site.rb b/lib/active_storage/site/disk_site.rb
index 73f86bac6a..2ff0b22fae 100644
--- a/lib/active_vault/site/disk_site.rb
+++ b/lib/active_storage/site/disk_site.rb
@@ -1,7 +1,7 @@
require "fileutils"
require "pathname"
-class ActiveVault::Site::DiskSite < ActiveVault::Site
+class ActiveStorage::Site::DiskSite < ActiveStorage::Site
attr_reader :root
def initialize(root:)
@@ -38,7 +38,7 @@ class ActiveVault::Site::DiskSite < ActiveVault::Site
def url(key, expires_in:, disposition:, filename:)
- verified_key_with_expiration = ActiveVault::VerifiedKeyWithExpiration.encode(key, expires_in: expires_in)
+ verified_key_with_expiration = ActiveStorage::VerifiedKeyWithExpiration.encode(key, expires_in: expires_in)
if defined?(Rails) && defined?(Rails.application)
Rails.application.routes.url_helpers.rails_disk_blob_path(verified_key_with_expiration, disposition: disposition)
diff --git a/lib/active_vault/site/gcs_site.rb b/lib/active_storage/site/gcs_site.rb
index 8f51d486ec..bf681ca6a2 100644
--- a/lib/active_vault/site/gcs_site.rb
+++ b/lib/active_storage/site/gcs_site.rb
@@ -1,7 +1,7 @@
require "google/cloud/storage"
require "active_support/core_ext/object/to_query"
-class ActiveVault::Site::GCSSite < ActiveVault::Site
+class ActiveStorage::Site::GCSSite < ActiveStorage::Site
attr_reader :client, :bucket
def initialize(project:, keyfile:, bucket:)
diff --git a/lib/active_vault/site/mirror_site.rb b/lib/active_storage/site/mirror_site.rb
index 8a2fa52fcb..ba3ef0ef0e 100644
--- a/lib/active_vault/site/mirror_site.rb
+++ b/lib/active_storage/site/mirror_site.rb
@@ -1,4 +1,4 @@
-class ActiveVault::Site::MirrorSite < ActiveVault::Site
+class ActiveStorage::Site::MirrorSite < ActiveStorage::Site
attr_reader :sites
def initialize(sites:)
diff --git a/lib/active_vault/site/s3_site.rb b/lib/active_storage/site/s3_site.rb
index 49a7522170..65dad37cfe 100644
--- a/lib/active_vault/site/s3_site.rb
+++ b/lib/active_storage/site/s3_site.rb
@@ -1,6 +1,6 @@
require "aws-sdk"
-class ActiveVault::Site::S3Site < ActiveVault::Site
+class ActiveStorage::Site::S3Site < ActiveStorage::Site
attr_reader :client, :bucket
def initialize(access_key_id:, secret_access_key:, region:, bucket:)
diff --git a/lib/active_vault/verified_key_with_expiration.rb b/lib/active_storage/verified_key_with_expiration.rb
index 95d4993ff0..8708106735 100644
--- a/lib/active_vault/verified_key_with_expiration.rb
+++ b/lib/active_storage/verified_key_with_expiration.rb
@@ -1,5 +1,5 @@
-class ActiveVault::VerifiedKeyWithExpiration
- class_attribute :verifier, default: defined?(Rails) ? Rails.application.message_verifier('ActiveVault') : nil
+class ActiveStorage::VerifiedKeyWithExpiration
+ class_attribute :verifier, default: defined?(Rails) ? Rails.application.message_verifier('ActiveStorage') : nil
class << self
def encode(key, expires_in: nil)
diff --git a/lib/active_vault/attached/macros.rb b/lib/active_vault/attached/macros.rb
deleted file mode 100644
index 1b95c14c9c..0000000000
--- a/lib/active_vault/attached/macros.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-module ActiveVault::Attached::Macros
- def has_one_attached(name, dependent: :purge_later)
- define_method(name) do
- instance_variable_get("@active_vault_attached_#{name}") ||
- instance_variable_set("@active_vault_attached_#{name}", ActiveVault::Attached::One.new(name, self))
- end
-
- if dependent == :purge_later
- before_destroy { public_send(name).purge_later }
- end
- end
-
- def has_many_attached(name, dependent: :purge_later)
- define_method(name) do
- instance_variable_get("@active_vault_attached_#{name}") ||
- instance_variable_set("@active_vault_attached_#{name}", ActiveVault::Attached::Many.new(name, self))
- end
-
- if dependent == :purge_later
- before_destroy { public_send(name).purge_later }
- end
- end
-end
diff --git a/lib/active_vault/railtie.rb b/lib/active_vault/railtie.rb
deleted file mode 100644
index 1830780001..0000000000
--- a/lib/active_vault/railtie.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-require "rails/railtie"
-
-module ActiveVault
- class Railtie < Rails::Railtie # :nodoc:
- config.active_vault = ActiveSupport::OrderedOptions.new
-
- config.eager_load_namespaces << ActiveVault
-
- initializer "active_vault.routes" do
- require "active_vault/disk_controller"
-
- config.after_initialize do |app|
- app.routes.prepend do
- get "/rails/blobs/:encoded_key" => "active_vault/disk#show", as: :rails_disk_blob
- end
- end
- end
-
- initializer "active_vault.attached" do
- require "active_vault/attached"
-
- ActiveSupport.on_load(:active_record) do
- extend ActiveVault::Attached::Macros
- end
- end
- end
-end
diff --git a/test/attachments_test.rb b/test/attachments_test.rb
index 1b784b50c1..6e25002bb1 100644
--- a/test/attachments_test.rb
+++ b/test/attachments_test.rb
@@ -1,6 +1,6 @@
require "test_helper"
require "database/setup"
-require "active_vault/blob"
+require "active_storage/blob"
require "active_job"
ActiveJob::Base.queue_adapter = :test
@@ -13,12 +13,12 @@ class User < ActiveRecord::Base
has_many_attached :highlights
end
-class ActiveVault::AttachmentsTest < ActiveSupport::TestCase
+class ActiveStorage::AttachmentsTest < ActiveSupport::TestCase
include ActiveJob::TestHelper
setup { @user = User.create!(name: "DHH") }
- teardown { ActiveVault::Blob.all.each(&:purge) }
+ teardown { ActiveStorage::Blob.all.each(&:purge) }
test "attach existing blob" do
@user.avatar.attach create_blob(filename: "funky.jpg")
@@ -36,7 +36,7 @@ class ActiveVault::AttachmentsTest < ActiveSupport::TestCase
@user.avatar.purge
assert_not @user.avatar.attached?
- assert_not ActiveVault::Blob.site.exist?(avatar_key)
+ assert_not ActiveStorage::Blob.site.exist?(avatar_key)
end
test "purge attached blob later when the record is destroyed" do
@@ -46,8 +46,8 @@ class ActiveVault::AttachmentsTest < ActiveSupport::TestCase
perform_enqueued_jobs do
@user.destroy
- assert_nil ActiveVault::Blob.find_by(key: avatar_key)
- assert_not ActiveVault::Blob.site.exist?(avatar_key)
+ assert_nil ActiveStorage::Blob.find_by(key: avatar_key)
+ assert_not ActiveStorage::Blob.site.exist?(avatar_key)
end
end
@@ -74,8 +74,8 @@ class ActiveVault::AttachmentsTest < ActiveSupport::TestCase
@user.highlights.purge
assert_not @user.highlights.attached?
- assert_not ActiveVault::Blob.site.exist?(highlight_keys.first)
- assert_not ActiveVault::Blob.site.exist?(highlight_keys.second)
+ assert_not ActiveStorage::Blob.site.exist?(highlight_keys.first)
+ assert_not ActiveStorage::Blob.site.exist?(highlight_keys.second)
end
test "purge attached blobs later when the record is destroyed" do
@@ -85,11 +85,11 @@ class ActiveVault::AttachmentsTest < ActiveSupport::TestCase
perform_enqueued_jobs do
@user.destroy
- assert_nil ActiveVault::Blob.find_by(key: highlight_keys.first)
- assert_not ActiveVault::Blob.site.exist?(highlight_keys.first)
+ assert_nil ActiveStorage::Blob.find_by(key: highlight_keys.first)
+ assert_not ActiveStorage::Blob.site.exist?(highlight_keys.first)
- assert_nil ActiveVault::Blob.find_by(key: highlight_keys.second)
- assert_not ActiveVault::Blob.site.exist?(highlight_keys.second)
+ assert_nil ActiveStorage::Blob.find_by(key: highlight_keys.second)
+ assert_not ActiveStorage::Blob.site.exist?(highlight_keys.second)
end
end
end
diff --git a/test/blob_test.rb b/test/blob_test.rb
index c7b4aeed39..880c656ecc 100644
--- a/test/blob_test.rb
+++ b/test/blob_test.rb
@@ -1,8 +1,8 @@
require "test_helper"
require "database/setup"
-require "active_vault/blob"
+require "active_storage/blob"
-class ActiveVault::BlobTest < ActiveSupport::TestCase
+class ActiveStorage::BlobTest < ActiveSupport::TestCase
test "create after upload sets byte size and checksum" do
data = "Hello world!"
blob = create_blob data: data
@@ -23,6 +23,6 @@ class ActiveVault::BlobTest < ActiveSupport::TestCase
private
def expected_url_for(blob, disposition: :inline)
- "/rails/blobs/#{ActiveVault::VerifiedKeyWithExpiration.encode(blob.key, expires_in: 5.minutes)}?disposition=#{disposition}"
+ "/rails/blobs/#{ActiveStorage::VerifiedKeyWithExpiration.encode(blob.key, expires_in: 5.minutes)}?disposition=#{disposition}"
end
end
diff --git a/test/database/create_users_migration.rb b/test/database/create_users_migration.rb
index 38dcdc129b..15be1938a9 100644
--- a/test/database/create_users_migration.rb
+++ b/test/database/create_users_migration.rb
@@ -1,4 +1,4 @@
-class ActiveVault::CreateUsers < ActiveRecord::Migration[5.1]
+class ActiveStorage::CreateUsers < ActiveRecord::Migration[5.1]
def change
create_table :users do |t|
t.string :name
diff --git a/test/database/setup.rb b/test/database/setup.rb
index 7373d72237..828edd86dd 100644
--- a/test/database/setup.rb
+++ b/test/database/setup.rb
@@ -1,6 +1,6 @@
-require "active_vault/migration"
+require "active_storage/migration"
require_relative "create_users_migration"
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
-ActiveVault::CreateTables.migrate(:up)
-ActiveVault::CreateUsers.migrate(:up)
+ActiveStorage::CreateTables.migrate(:up)
+ActiveStorage::CreateUsers.migrate(:up)
diff --git a/test/disk_controller_test.rb b/test/disk_controller_test.rb
index eaf0b497ac..3d7f4ba6bd 100644
--- a/test/disk_controller_test.rb
+++ b/test/disk_controller_test.rb
@@ -4,30 +4,30 @@ require "database/setup"
require "action_controller"
require "action_controller/test_case"
-require "active_vault/disk_controller"
-require "active_vault/verified_key_with_expiration"
+require "active_storage/disk_controller"
+require "active_storage/verified_key_with_expiration"
-class ActiveVault::DiskControllerTest < ActionController::TestCase
+class ActiveStorage::DiskControllerTest < ActionController::TestCase
Routes = ActionDispatch::Routing::RouteSet.new.tap do |routes|
routes.draw do
- get "/rails/blobs/:encoded_key" => "active_vault/disk#show", as: :rails_disk_blob
+ get "/rails/blobs/:encoded_key" => "active_storage/disk#show", as: :rails_disk_blob
end
end
setup do
@blob = create_blob
@routes = Routes
- @controller = ActiveVault::DiskController.new
+ @controller = ActiveStorage::DiskController.new
end
test "showing blob inline" do
- get :show, params: { encoded_key: ActiveVault::VerifiedKeyWithExpiration.encode(@blob.key, expires_in: 5.minutes) }
+ get :show, params: { encoded_key: ActiveStorage::VerifiedKeyWithExpiration.encode(@blob.key, expires_in: 5.minutes) }
assert_equal "inline; filename=\"#{@blob.filename}\"", @response.headers["Content-Disposition"]
assert_equal "text/plain", @response.headers["Content-Type"]
end
test "sending blob as attachment" do
- get :show, params: { encoded_key: ActiveVault::VerifiedKeyWithExpiration.encode(@blob.key, expires_in: 5.minutes), disposition: :attachment }
+ get :show, params: { encoded_key: ActiveStorage::VerifiedKeyWithExpiration.encode(@blob.key, expires_in: 5.minutes), disposition: :attachment }
assert_equal "attachment; filename=\"#{@blob.filename}\"", @response.headers["Content-Disposition"]
assert_equal "text/plain", @response.headers["Content-Type"]
end
diff --git a/test/filename_test.rb b/test/filename_test.rb
index 5cb67016c0..448ba7f766 100644
--- a/test/filename_test.rb
+++ b/test/filename_test.rb
@@ -1,9 +1,9 @@
require "test_helper"
-class ActiveVault::FilenameTest < ActiveSupport::TestCase
+class ActiveStorage::FilenameTest < ActiveSupport::TestCase
test "sanitize" do
"%$|:;/\t\r\n\\".each_char do |character|
- filename = ActiveVault::Filename.new("foo#{character}bar.pdf")
+ filename = ActiveStorage::Filename.new("foo#{character}bar.pdf")
assert_equal 'foo-bar.pdf', filename.sanitized
assert_equal 'foo-bar.pdf', filename.to_s
end
@@ -16,21 +16,21 @@ class ActiveVault::FilenameTest < ActiveSupport::TestCase
"\xCF" => "�",
"\x00" => "",
}.each do |actual, expected|
- assert_equal expected, ActiveVault::Filename.new(actual).sanitized
+ assert_equal expected, ActiveStorage::Filename.new(actual).sanitized
end
end
test "strips RTL override chars used to spoof unsafe executables as docs" do
# Would be displayed in Windows as "evilexe.pdf" due to the right-to-left
# (RTL) override char!
- assert_equal 'evil-fdp.exe', ActiveVault::Filename.new("evil\u{202E}fdp.exe").sanitized
+ assert_equal 'evil-fdp.exe', ActiveStorage::Filename.new("evil\u{202E}fdp.exe").sanitized
end
test "compare case-insensitively" do
- assert_operator ActiveVault::Filename.new('foobar.pdf'), :==, ActiveVault::Filename.new('FooBar.PDF')
+ assert_operator ActiveStorage::Filename.new('foobar.pdf'), :==, ActiveStorage::Filename.new('FooBar.PDF')
end
test "compare sanitized" do
- assert_operator ActiveVault::Filename.new('foo-bar.pdf'), :==, ActiveVault::Filename.new("foo\tbar.pdf")
+ assert_operator ActiveStorage::Filename.new('foo-bar.pdf'), :==, ActiveStorage::Filename.new("foo\tbar.pdf")
end
end
diff --git a/test/site/disk_site_test.rb b/test/site/disk_site_test.rb
index e9ebdcb0be..a04414ea68 100644
--- a/test/site/disk_site_test.rb
+++ b/test/site/disk_site_test.rb
@@ -1,8 +1,8 @@
require "tmpdir"
require "site/shared_site_tests"
-class ActiveVault::Site::DiskSiteTest < ActiveSupport::TestCase
- SITE = ActiveVault::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_vault"))
+class ActiveStorage::Site::DiskSiteTest < ActiveSupport::TestCase
+ SITE = ActiveStorage::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage"))
- include ActiveVault::Site::SharedSiteTests
+ include ActiveStorage::Site::SharedSiteTests
end
diff --git a/test/site/gcs_site_test.rb b/test/site/gcs_site_test.rb
index b3712a2116..98b1a3d767 100644
--- a/test/site/gcs_site_test.rb
+++ b/test/site/gcs_site_test.rb
@@ -1,10 +1,10 @@
require "site/shared_site_tests"
if SITE_CONFIGURATIONS[:gcs]
- class ActiveVault::Site::GCSSiteTest < ActiveSupport::TestCase
- SITE = ActiveVault::Site.configure(:GCS, SITE_CONFIGURATIONS[:gcs])
+ class ActiveStorage::Site::GCSSiteTest < ActiveSupport::TestCase
+ SITE = ActiveStorage::Site.configure(:GCS, SITE_CONFIGURATIONS[:gcs])
- include ActiveVault::Site::SharedSiteTests
+ include ActiveStorage::Site::SharedSiteTests
test "signed URL generation" do
travel_to Time.now do
diff --git a/test/site/mirror_site_test.rb b/test/site/mirror_site_test.rb
index bdb0b4c357..7ced377cde 100644
--- a/test/site/mirror_site_test.rb
+++ b/test/site/mirror_site_test.rb
@@ -1,15 +1,15 @@
require "tmpdir"
require "site/shared_site_tests"
-class ActiveVault::Site::MirrorSiteTest < ActiveSupport::TestCase
- PRIMARY_DISK_SITE = ActiveVault::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_vault"))
- SECONDARY_DISK_SITE = ActiveVault::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_vault_mirror"))
+class ActiveStorage::Site::MirrorSiteTest < ActiveSupport::TestCase
+ PRIMARY_DISK_SITE = ActiveStorage::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage"))
+ SECONDARY_DISK_SITE = ActiveStorage::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage_mirror"))
- SITE = ActiveVault::Site.configure :Mirror, sites: [ PRIMARY_DISK_SITE, SECONDARY_DISK_SITE ]
+ SITE = ActiveStorage::Site.configure :Mirror, sites: [ PRIMARY_DISK_SITE, SECONDARY_DISK_SITE ]
- include ActiveVault::Site::SharedSiteTests
+ include ActiveStorage::Site::SharedSiteTests
- test "uploading to all sites" do
+ test "uploading was done to all sites" do
begin
key = SecureRandom.base58(24)
data = "Something else entirely!"
@@ -27,11 +27,4 @@ class ActiveVault::Site::MirrorSiteTest < ActiveSupport::TestCase
assert PRIMARY_DISK_SITE.exist?(FIXTURE_KEY)
assert SECONDARY_DISK_SITE.exist?(FIXTURE_KEY)
end
-
- test "URL generation for primary site" do
- travel_to Time.now do
- assert_equal PRIMARY_DISK_SITE.url(FIXTURE_KEY, expires_in: 5.minutes, disposition: :inline, filename: "test.txt"),
- SITE.url(FIXTURE_KEY, expires_in: 5.minutes, disposition: :inline, filename: "test.txt")
- end
- end
end
diff --git a/test/site/s3_site_test.rb b/test/site/s3_site_test.rb
index 6daeaac2ea..a9cb6ca618 100644
--- a/test/site/s3_site_test.rb
+++ b/test/site/s3_site_test.rb
@@ -1,10 +1,10 @@
require "site/shared_site_tests"
if SITE_CONFIGURATIONS[:s3]
- class ActiveVault::Site::S3SiteTest < ActiveSupport::TestCase
- SITE = ActiveVault::Site.configure(:S3, SITE_CONFIGURATIONS[:s3])
+ class ActiveStorage::Site::S3SiteTest < ActiveSupport::TestCase
+ SITE = ActiveStorage::Site.configure(:S3, SITE_CONFIGURATIONS[:s3])
- include ActiveVault::Site::SharedSiteTests
+ include ActiveStorage::Site::SharedSiteTests
end
else
puts "Skipping S3 Site tests because no S3 configuration was supplied"
diff --git a/test/site/shared_site_tests.rb b/test/site/shared_site_tests.rb
index 56f1a13742..687c35e941 100644
--- a/test/site/shared_site_tests.rb
+++ b/test/site/shared_site_tests.rb
@@ -8,7 +8,7 @@ rescue Errno::ENOENT
puts "Missing site configuration file in test/sites/configurations.yml"
end
-module ActiveVault::Site::SharedSiteTests
+module ActiveStorage::Site::SharedSiteTests
extend ActiveSupport::Concern
FIXTURE_KEY = SecureRandom.base58(24)
diff --git a/test/test_helper.rb b/test/test_helper.rb
index b18613c365..f354a995e4 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -4,25 +4,25 @@ require "active_support/test_case"
require "active_support/testing/autorun"
require "byebug"
-require "active_vault"
+require "active_storage"
-require "active_vault/site"
-ActiveVault::Blob.site = ActiveVault::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_vault"))
+require "active_storage/site"
+ActiveStorage::Blob.site = ActiveStorage::Site.configure(:Disk, root: File.join(Dir.tmpdir, "active_storage"))
-require "active_vault/verified_key_with_expiration"
-ActiveVault::VerifiedKeyWithExpiration.verifier = ActiveSupport::MessageVerifier.new("Testing")
+require "active_storage/verified_key_with_expiration"
+ActiveStorage::VerifiedKeyWithExpiration.verifier = ActiveSupport::MessageVerifier.new("Testing")
class ActiveSupport::TestCase
private
def create_blob(data: "Hello world!", filename: "hello.txt", content_type: "text/plain")
- ActiveVault::Blob.create_after_upload! io: StringIO.new(data), filename: filename, content_type: content_type
+ ActiveStorage::Blob.create_after_upload! io: StringIO.new(data), filename: filename, content_type: content_type
end
end
-require "active_vault/attached"
-ActiveRecord::Base.send :extend, ActiveVault::Attached::Macros
+require "active_storage/attached"
+ActiveRecord::Base.send :extend, ActiveStorage::Attached::Macros
require "global_id"
-GlobalID.app = "ActiveVaultExampleApp"
+GlobalID.app = "ActiveStorageExampleApp"
ActiveRecord::Base.send :include, GlobalID::Identification
diff --git a/test/verified_key_with_expiration_test.rb b/test/verified_key_with_expiration_test.rb
index 073bb047f6..ee4dc7e02e 100644
--- a/test/verified_key_with_expiration_test.rb
+++ b/test/verified_key_with_expiration_test.rb
@@ -1,19 +1,19 @@
require "test_helper"
require "active_support/core_ext/securerandom"
-class ActiveVault::VerifiedKeyWithExpirationTest < ActiveSupport::TestCase
+class ActiveStorage::VerifiedKeyWithExpirationTest < ActiveSupport::TestCase
FIXTURE_KEY = SecureRandom.base58(24)
test "without expiration" do
- encoded_key = ActiveVault::VerifiedKeyWithExpiration.encode(FIXTURE_KEY)
- assert_equal FIXTURE_KEY, ActiveVault::VerifiedKeyWithExpiration.decode(encoded_key)
+ encoded_key = ActiveStorage::VerifiedKeyWithExpiration.encode(FIXTURE_KEY)
+ assert_equal FIXTURE_KEY, ActiveStorage::VerifiedKeyWithExpiration.decode(encoded_key)
end
test "with expiration" do
- encoded_key = ActiveVault::VerifiedKeyWithExpiration.encode(FIXTURE_KEY, expires_in: 1.minute)
- assert_equal FIXTURE_KEY, ActiveVault::VerifiedKeyWithExpiration.decode(encoded_key)
+ encoded_key = ActiveStorage::VerifiedKeyWithExpiration.encode(FIXTURE_KEY, expires_in: 1.minute)
+ assert_equal FIXTURE_KEY, ActiveStorage::VerifiedKeyWithExpiration.decode(encoded_key)
travel 2.minutes
- assert_nil ActiveVault::VerifiedKeyWithExpiration.decode(encoded_key)
+ assert_nil ActiveStorage::VerifiedKeyWithExpiration.decode(encoded_key)
end
end