aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2017-07-06 11:33:29 +0200
committerDavid Heinemeier Hansson <david@loudthinking.com>2017-07-06 11:33:29 +0200
commitc624df326a4ef36919a5195a3c5509fab97dcba3 (patch)
treea8e07aabde7548d5bd4a322a9898ad123cfa40f7 /lib
parent5869045f2e71f0abdf3add19629d23a46b9fff0d (diff)
downloadrails-c624df326a4ef36919a5195a3c5509fab97dcba3.tar.gz
rails-c624df326a4ef36919a5195a3c5509fab97dcba3.tar.bz2
rails-c624df326a4ef36919a5195a3c5509fab97dcba3.zip
ActiveVault -> ActiveStorage
Yaroslav agreed to hand over the gem name ❤️
Diffstat (limited to 'lib')
-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
22 files changed, 104 insertions, 104 deletions
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