Module: BetterStorage
- Extended by:
- ActiveSupport::Autoload
- Defined in:
- lib/better_storage.rb,
lib/better_storage/blob.rb,
lib/better_storage/railtie.rb,
lib/better_storage/variant.rb,
lib/better_storage/version.rb,
lib/better_storage/attachment.rb,
lib/better_storage/s3_service_proxy.rb
Defined Under Namespace
Modules: Attachment, Blob, S3ServiceProxy, Variant
Classes: Railtie
Constant Summary
collapse
- VERSION =
"0.2.1"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
17
18
19
|
# File 'lib/better_storage.rb', line 17
def self.configure
yield self
end
|
.generate_blob_key(*key) ⇒ Object
45
46
47
|
# File 'lib/better_storage.rb', line 45
def self.generate_blob_key(*key)
[BetterStorage.prefix, key].compact.join("/")
end
|
.prefix ⇒ Object
37
38
39
40
41
42
43
|
# File 'lib/better_storage.rb', line 37
def self.prefix
parts = []
parts << namespace if namespace
parts << "dev" if Rails.env.development?
parts << Date.today.strftime(prefix_date_format) if prefix_date_format
parts.join("/")
end
|
.protected_key?(key) ⇒ Boolean
32
33
34
35
|
# File 'lib/better_storage.rb', line 32
def self.protected_key?(key)
dev_prefix = [namespace, "dev"].compact.join("/")
!key.start_with?(dev_prefix)
end
|
.public_url(key) ⇒ Object
25
26
27
28
29
30
|
# File 'lib/better_storage.rb', line 25
def self.public_url(key)
url = URI.parse(s3_endpoint)
url.path += '/' unless url.path[-1] == '/'
url.path += key
url.to_s
end
|
Instance Method Details
#namespace=(value) ⇒ Object
21
22
23
|
# File 'lib/better_storage.rb', line 21
def namespace=(value)
@namespace = value.gsub(/\/$/, "")
end
|