refinerycms-resources 4.0.1 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +1 -2
- data/lib/generators/refinery/resources/templates/config/initializers/refinery/resources.rb.erb +28 -18
- data/lib/refinery/resources.rb +4 -4
- data/lib/refinery/resources/configuration.rb +5 -50
- data/lib/refinery/resources/engine.rb +2 -2
- data/refinerycms-resources.gemspec +2 -1
- data/spec/factories/resource.rb +1 -1
- data/spec/features/refinery/admin/resources_spec.rb +3 -3
- data/spec/lib/refinery/resources/engine_spec.rb +8 -0
- data/spec/models/refinery/resource_spec.rb +4 -4
- data/spec/spec_helper.rb +18 -0
- metadata +23 -8
- metadata.gz.sig +0 -0
- data/lib/refinery/resources/dragonfly.rb +0 -64
- data/spec/lib/resources_spec.rb +0 -45
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '08cc58f2f832273fd4283a124243cc8482e55979'
|
|
4
|
+
data.tar.gz: f76b1752e7a670ae4b40fdf072fe585305435143
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d18db2f4b34ce8c222e88fd42f388ffc225cee10a4fb9fe70f22f6af75e9b76fbabb809590fca2183017f395cc5c1a31d6ea9f7bb58773158a280722cb3d38e6
|
|
7
|
+
data.tar.gz: 1e167bd3f2ae804447b4f917d7889e9906d5ef4db09eddc8b95faf62632ebcae2aef49520366234962f3566d265e5a444424007023810f2346c623e8539f8ab8
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data.tar.gz.sig
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
�F�
|
|
2
|
-
�>�J�EY�6"Z�w�'��a꜕O�G7�<BYg爷ᕁ��M�k#��Ҕ�ro���"˳ ��>2��rF@(�r� *��B�S�M�҅
|
|
1
|
+
d�������������2#�ќ��UPjŊz�^!�Vf��+�%30Ag�TT���[r�!6'�=o�j�f#O��i�熘U{����B��l�h�X���s_\��z:8�j1�$���`a4�A[JO��.�i=��� Уh�Q���^���.g�/\ڳ�o����~��a��ߑ<F���������P���f�y@R�e/�h����x�<�C��9HhF����WX�{���$�o�Ò�
|
data/lib/generators/refinery/resources/templates/config/initializers/refinery/resources.rb.erb
CHANGED
|
@@ -9,25 +9,35 @@ Refinery::Resources.configure do |config|
|
|
|
9
9
|
# Configure how many resources per page should be displayed in the list of resources in the admin area
|
|
10
10
|
# config.pages_per_admin_index = <%= Refinery::Resources.pages_per_admin_index.inspect %>
|
|
11
11
|
|
|
12
|
-
# Configure
|
|
13
|
-
#
|
|
14
|
-
# config
|
|
15
|
-
# config.s3_bucket_name = ENV['S3_BUCKET']
|
|
16
|
-
# config.s3_access_key_id = ENV['S3_KEY']
|
|
17
|
-
# config.s3_secret_access_key = ENV['S3_SECRET']
|
|
18
|
-
# config.s3_region = ENV['S3_REGION']
|
|
12
|
+
# Configure Dragonfly.
|
|
13
|
+
# Refer to config/initializers/refinery/dragonfly.rb for the full list of dragonfly configurations which can be used.
|
|
14
|
+
# This includes all dragonfly config for Dragonfly v 1.1.1
|
|
19
15
|
|
|
20
|
-
#
|
|
21
|
-
# config.
|
|
22
|
-
# config.
|
|
23
|
-
# config.
|
|
24
|
-
# config.
|
|
25
|
-
# config.datastore_root_path = <%= Refinery::Resources.datastore_root_path.inspect %>
|
|
26
|
-
# config.content_disposition = <%= Refinery::Resources.content_disposition.inspect %>
|
|
16
|
+
# config.dragonfly_verify_urls = <%= Refinery::Resources.dragonfly_verify_urls.inspect %>
|
|
17
|
+
# config.dragonfly_secret = <%= Refinery::Resources.dragonfly_secret.inspect %>
|
|
18
|
+
# config.dragonfly_url_host = <%= Refinery::Resources.dragonfly_url_host.inspect %>
|
|
19
|
+
# config.dragonfly_datastore_root_path = <%= Refinery::Resources.dragonfly_datastore_root_path.inspect %>
|
|
20
|
+
# config.dragonfly_url_format = <%= Refinery::Resources.dragonfly_url_format.inspect %>
|
|
27
21
|
|
|
28
|
-
# Configure
|
|
29
|
-
# The
|
|
30
|
-
# config.
|
|
31
|
-
# config.
|
|
22
|
+
# Configure S3 (you can also use ENV for this)
|
|
23
|
+
# The s3_datastore setting by default defers to the Refinery::Dragonfly setting for this but can be set just for images.
|
|
24
|
+
# config.s3_datastore = Refinery::Dragonfly.s3_datastore
|
|
25
|
+
# config.s3_bucket_name = ENV['S3_BUCKET']
|
|
26
|
+
# config.s3_access_key_id = ENV['S3_KEY']
|
|
27
|
+
# config.s3_secret_access_key = ENV['S3_SECRET']
|
|
28
|
+
# config.s3_region = ENV['S3_REGION']
|
|
29
|
+
#
|
|
30
|
+
# further S3 configuration options
|
|
31
|
+
# config.s3_fog_storage_options = <%= Refinery::Resources.s3_fog_storage_options.inspect %>
|
|
32
|
+
# config.s3_root_path = <%= Refinery::Resources.s3_root_path.inspect %>
|
|
33
|
+
# config.s3_storage_path = <%= Refinery::Resources.s3_storage_path.inspect %>
|
|
34
|
+
# config.s3_storage_headers = <%= Refinery::Resources.s3_storage_headers.inspect %>
|
|
35
|
+
# config.s3_url_host = <%= Refinery::Resources.s3_url_host.inspect %>
|
|
36
|
+
# config.s3_url_scheme = <%= Refinery::Resources.s3_url_scheme.inspect %>
|
|
37
|
+
# config.s3_use_iam_profile = <%= Refinery::Resources.s3_use_iam_profile.inspect %>
|
|
32
38
|
|
|
39
|
+
# Configure Dragonfly custom datastore
|
|
40
|
+
# The custom_datastore setting by default defers to the Refinery::Resources setting for this but can be set just for images.
|
|
41
|
+
# config.custom_datastore_class = <%= Refinery::Resources.dragonfly_custom_datastore_class.inspect %>
|
|
42
|
+
# config.custom_datastore_opts = <%= Refinery::Resources.dragonfly_custom_datastore_opts.inspect %>
|
|
33
43
|
end
|
data/lib/refinery/resources.rb
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
require 'refinerycms-core'
|
|
2
|
-
require 'dragonfly'
|
|
2
|
+
require 'refinerycms-dragonfly'
|
|
3
3
|
|
|
4
4
|
module Refinery
|
|
5
5
|
autoload :ResourcesGenerator, 'generators/refinery/resources/resources_generator'
|
|
6
6
|
|
|
7
7
|
module Resources
|
|
8
8
|
require 'refinery/resources/engine'
|
|
9
|
+
require 'refinery/dragonfly/extension_configuration'
|
|
9
10
|
require 'refinery/resources/configuration'
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
autoload :Validators, 'refinery/resources/validators'
|
|
12
|
+
autoload :Validators, 'refinery/resources/validators'
|
|
13
13
|
|
|
14
14
|
class << self
|
|
15
15
|
def root
|
|
@@ -25,4 +25,4 @@ end
|
|
|
25
25
|
|
|
26
26
|
ActiveSupport.on_load(:active_record) do
|
|
27
27
|
require 'globalize'
|
|
28
|
-
end
|
|
28
|
+
end
|
|
@@ -1,63 +1,18 @@
|
|
|
1
1
|
module Refinery
|
|
2
2
|
module Resources
|
|
3
|
-
include ActiveSupport::Configurable
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
:s3_backend, :s3_bucket_name, :s3_region,
|
|
8
|
-
:s3_access_key_id, :s3_secret_access_key,
|
|
9
|
-
:datastore_root_path, :content_disposition,
|
|
10
|
-
:custom_backend_class, :custom_backend_opts
|
|
4
|
+
extend Refinery::Dragonfly::ExtensionConfiguration
|
|
5
|
+
include ActiveSupport::Configurable
|
|
11
6
|
|
|
12
|
-
|
|
13
|
-
self.dragonfly_url_format = '/system/resources/:job/:basename.:ext'
|
|
14
|
-
self.dragonfly_url_host = ''
|
|
15
|
-
self.dragonfly_verify_urls = true
|
|
7
|
+
config_accessor :max_file_size, :pages_per_dialog, :pages_per_admin_index, :content_disposition
|
|
16
8
|
|
|
17
9
|
self.content_disposition = :attachment
|
|
18
10
|
self.max_file_size = 52_428_800
|
|
19
11
|
self.pages_per_dialog = 12
|
|
20
12
|
self.pages_per_admin_index = 20
|
|
21
13
|
|
|
22
|
-
|
|
23
|
-
# But a non-nil custom option can still be provided
|
|
24
|
-
class << self
|
|
25
|
-
def datastore_root_path
|
|
26
|
-
config.datastore_root_path || (Rails.root.join('public', 'system', 'refinery', 'resources').to_s if Rails.root)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def s3_backend
|
|
30
|
-
config.s3_backend.nil? ? Core.s3_backend : config.s3_backend
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def s3_bucket_name
|
|
34
|
-
config.s3_bucket_name.presence || Core.s3_bucket_name
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def s3_access_key_id
|
|
38
|
-
config.s3_access_key_id.presence || Core.s3_access_key_id
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def s3_secret_access_key
|
|
42
|
-
config.s3_secret_access_key.presence || Core.s3_secret_access_key
|
|
43
|
-
end
|
|
14
|
+
self.dragonfly_name = :refinery_resources
|
|
44
15
|
|
|
45
|
-
def s3_region
|
|
46
|
-
config.s3_region.presence || Core.s3_region
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def custom_backend?
|
|
50
|
-
config.custom_backend_class.nil? ? Core.dragonfly_custom_backend? : config.custom_backend_class.present?
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def custom_backend_class
|
|
54
|
-
config.custom_backend_class.nil? ? Core.dragonfly_custom_backend_class : config.custom_backend_class.constantize
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def custom_backend_opts
|
|
58
|
-
config.custom_backend_opts.presence || Core.dragonfly_custom_backend_opts
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
end
|
|
62
16
|
end
|
|
63
17
|
end
|
|
18
|
+
|
|
@@ -9,8 +9,8 @@ module Refinery
|
|
|
9
9
|
config.autoload_paths += %W( #{config.root}/lib )
|
|
10
10
|
|
|
11
11
|
initializer 'attach-refinery-resources-with-dragonfly', :before => :finisher_hook do |app|
|
|
12
|
-
::Refinery::
|
|
13
|
-
::Refinery::
|
|
12
|
+
::Refinery::Dragonfly.configure!(Refinery::Resources)
|
|
13
|
+
::Refinery::Dragonfly.attach!(app, Refinery::Resources)
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
before_inclusion do
|
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
|
|
|
10
10
|
s.summary = %q{Resources extension for Refinery CMS}
|
|
11
11
|
s.description = %q{Handles all file upload and processing functionality in Refinery CMS.}
|
|
12
12
|
s.email = %q{refinerycms@p.arndt.io}
|
|
13
|
-
s.homepage = %q{
|
|
13
|
+
s.homepage = %q{https://www.refinerycms.com}
|
|
14
14
|
s.rubyforge_project = %q{refinerycms}
|
|
15
15
|
s.authors = ['Philip Arndt', 'Uģis Ozols', 'Rob Yurkowski']
|
|
16
16
|
s.license = %q{MIT}
|
|
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
|
|
|
24
24
|
s.add_dependency 'globalize', ['>= 5.1.0.beta1', '< 5.2']
|
|
25
25
|
s.add_dependency 'activemodel-serializers-xml', '~> 1.0', '>= 1.0.1'
|
|
26
26
|
s.add_dependency 'refinerycms-core', version
|
|
27
|
+
s.add_dependency 'refinerycms-dragonfly', '~> 1.0'
|
|
27
28
|
|
|
28
29
|
s.required_ruby_version = Refinery::Version.required_ruby_version
|
|
29
30
|
|
data/spec/factories/resource.rb
CHANGED
|
@@ -74,7 +74,7 @@ module Refinery
|
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
context "edit/update" do
|
|
77
|
-
let!(:resource) {
|
|
77
|
+
let!(:resource) { FactoryBot.create(:resource) }
|
|
78
78
|
|
|
79
79
|
it "updates file" do
|
|
80
80
|
visit refinery.admin_resources_path
|
|
@@ -119,7 +119,7 @@ module Refinery
|
|
|
119
119
|
end
|
|
120
120
|
|
|
121
121
|
context "destroy" do
|
|
122
|
-
let!(:resource) {
|
|
122
|
+
let!(:resource) { FactoryBot.create(:resource) }
|
|
123
123
|
|
|
124
124
|
it "removes file" do
|
|
125
125
|
visit refinery.admin_resources_path
|
|
@@ -133,7 +133,7 @@ module Refinery
|
|
|
133
133
|
end
|
|
134
134
|
|
|
135
135
|
context "download" do
|
|
136
|
-
let!(:resource) {
|
|
136
|
+
let!(:resource) { FactoryBot.create(:resource) }
|
|
137
137
|
|
|
138
138
|
it "succeeds" do
|
|
139
139
|
visit refinery.admin_resources_path
|
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
|
2
2
|
|
|
3
3
|
module Refinery
|
|
4
4
|
describe Resource, :type => :model do
|
|
5
|
-
let(:resource) {
|
|
6
|
-
let(:titled_resource) {
|
|
5
|
+
let(:resource) { FactoryBot.create(:resource) }
|
|
6
|
+
let(:titled_resource) { FactoryBot.create(:resource, resource_title: 'Resource Title')}
|
|
7
7
|
|
|
8
8
|
context "with valid attributes" do
|
|
9
9
|
it "should create successfully" do
|
|
@@ -27,7 +27,7 @@ module Refinery
|
|
|
27
27
|
context "when Dragonfly.verify_urls is true" do
|
|
28
28
|
before do
|
|
29
29
|
allow(Refinery::Resources).to receive(:dragonfly_verify_urls).and_return(true)
|
|
30
|
-
::Refinery::
|
|
30
|
+
::Refinery::Dragonfly.configure!(Refinery::Resources)
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
it "returns a url with an SHA parameter" do
|
|
@@ -38,7 +38,7 @@ module Refinery
|
|
|
38
38
|
context "when Dragonfly.verify_urls is false" do
|
|
39
39
|
before do
|
|
40
40
|
allow(Refinery::Resources).to receive(:dragonfly_verify_urls).and_return(false)
|
|
41
|
-
::Refinery::
|
|
41
|
+
::Refinery::Dragonfly.configure!(Refinery::Resources)
|
|
42
42
|
end
|
|
43
43
|
it "returns a url without an SHA parameter" do
|
|
44
44
|
expect(resource.url).not_to match(/\?sha=[\da-fA-F]{16}\z/)
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module Capybara
|
|
2
|
+
|
|
3
|
+
add_selector(:linkhref) do
|
|
4
|
+
xpath {|href| ".//a[@href='#{href}']"}
|
|
5
|
+
end
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def ensure_on(path)
|
|
9
|
+
visit(path) unless current_path == path
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
RSpec.configure do |c|
|
|
13
|
+
c.alias_it_should_behave_like_to :it_has_behaviour, 'has behaviour:'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def uri_filename(url)
|
|
17
|
+
File.basename(URI.parse(url).path)
|
|
18
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: refinerycms-resources
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.0.
|
|
4
|
+
version: 4.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Philip Arndt
|
|
@@ -32,7 +32,7 @@ cert_chain:
|
|
|
32
32
|
jOQmH9VbgbfUrXYM1YOKdlwW5sPR1f4PKLDlvEE+bppIUgKOgLOIv3i7KwrGvFOq
|
|
33
33
|
5r7Wz/HY31SM47mkK21saPJG4NvUFEycf0wlpzP657Pl9aVo47aKKbxX
|
|
34
34
|
-----END CERTIFICATE-----
|
|
35
|
-
date:
|
|
35
|
+
date: 2018-05-21 00:00:00.000000000 Z
|
|
36
36
|
dependencies:
|
|
37
37
|
- !ruby/object:Gem::Dependency
|
|
38
38
|
name: acts_as_indexed
|
|
@@ -114,14 +114,28 @@ dependencies:
|
|
|
114
114
|
requirements:
|
|
115
115
|
- - '='
|
|
116
116
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: 4.0.
|
|
117
|
+
version: 4.0.2
|
|
118
118
|
type: :runtime
|
|
119
119
|
prerelease: false
|
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
121
|
requirements:
|
|
122
122
|
- - '='
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: 4.0.
|
|
124
|
+
version: 4.0.2
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: refinerycms-dragonfly
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '1.0'
|
|
132
|
+
type: :runtime
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "~>"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '1.0'
|
|
125
139
|
description: Handles all file upload and processing functionality in Refinery CMS.
|
|
126
140
|
email: refinerycms@p.arndt.io
|
|
127
141
|
executables: []
|
|
@@ -180,7 +194,6 @@ files:
|
|
|
180
194
|
- lib/generators/refinery/resources/templates/config/initializers/refinery/resources.rb.erb
|
|
181
195
|
- lib/refinery/resources.rb
|
|
182
196
|
- lib/refinery/resources/configuration.rb
|
|
183
|
-
- lib/refinery/resources/dragonfly.rb
|
|
184
197
|
- lib/refinery/resources/engine.rb
|
|
185
198
|
- lib/refinery/resources/validators.rb
|
|
186
199
|
- lib/refinery/resources/validators/file_size_validator.rb
|
|
@@ -192,9 +205,10 @@ files:
|
|
|
192
205
|
- spec/fixtures/refinery_is_awesome.txt
|
|
193
206
|
- spec/fixtures/refinery_is_awesome2.txt
|
|
194
207
|
- spec/lib/generators/refinery/resources/resources_generator_spec.rb
|
|
195
|
-
- spec/lib/
|
|
208
|
+
- spec/lib/refinery/resources/engine_spec.rb
|
|
196
209
|
- spec/models/refinery/resource_spec.rb
|
|
197
|
-
|
|
210
|
+
- spec/spec_helper.rb
|
|
211
|
+
homepage: https://www.refinerycms.com
|
|
198
212
|
licenses:
|
|
199
213
|
- MIT
|
|
200
214
|
metadata: {}
|
|
@@ -224,5 +238,6 @@ test_files:
|
|
|
224
238
|
- spec/fixtures/refinery_is_awesome.txt
|
|
225
239
|
- spec/fixtures/refinery_is_awesome2.txt
|
|
226
240
|
- spec/lib/generators/refinery/resources/resources_generator_spec.rb
|
|
227
|
-
- spec/lib/
|
|
241
|
+
- spec/lib/refinery/resources/engine_spec.rb
|
|
228
242
|
- spec/models/refinery/resource_spec.rb
|
|
243
|
+
- spec/spec_helper.rb
|
metadata.gz.sig
CHANGED
|
Binary file
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
require 'dragonfly'
|
|
2
|
-
|
|
3
|
-
module Refinery
|
|
4
|
-
module Resources
|
|
5
|
-
module Dragonfly
|
|
6
|
-
|
|
7
|
-
class << self
|
|
8
|
-
def configure!
|
|
9
|
-
ActiveRecord::Base.extend ::Dragonfly::Model
|
|
10
|
-
ActiveRecord::Base.extend ::Dragonfly::Model::Validations
|
|
11
|
-
|
|
12
|
-
app_resources = ::Dragonfly.app(:refinery_resources)
|
|
13
|
-
|
|
14
|
-
app_resources.configure do |c|
|
|
15
|
-
datastore :file, {
|
|
16
|
-
:root_path => Refinery::Resources.datastore_root_path
|
|
17
|
-
}
|
|
18
|
-
url_format Refinery::Resources.dragonfly_url_format
|
|
19
|
-
url_host Refinery::Resources.dragonfly_url_host
|
|
20
|
-
verify_urls Refinery::Resources.dragonfly_verify_urls
|
|
21
|
-
secret Refinery::Resources.dragonfly_secret
|
|
22
|
-
response_header 'Content-Disposition' do |job, request, headers|
|
|
23
|
-
"attachment; #{headers['Content-Disposition']}"
|
|
24
|
-
end if Refinery::Resources.content_disposition == :attachment
|
|
25
|
-
dragonfly_url nil
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
if ::Refinery::Resources.s3_backend
|
|
29
|
-
require 'dragonfly/s3_data_store'
|
|
30
|
-
options = {
|
|
31
|
-
bucket_name: Refinery::Resources.s3_bucket_name,
|
|
32
|
-
access_key_id: Refinery::Resources.s3_access_key_id,
|
|
33
|
-
secret_access_key: Refinery::Resources.s3_secret_access_key
|
|
34
|
-
}
|
|
35
|
-
options.update(region: Refinery::Resources.s3_region) if Refinery::Resources.s3_region
|
|
36
|
-
app_resources.use_datastore :s3, options
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
if Resources.custom_backend?
|
|
40
|
-
app_resources.datastore = Resources.custom_backend_class.new(Resources.custom_backend_opts)
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
##
|
|
45
|
-
# Injects Dragonfly::Middleware for Refinery::Images into the stack
|
|
46
|
-
def attach!(app)
|
|
47
|
-
if defined?(::Rack::Cache)
|
|
48
|
-
unless app.config.action_controller.perform_caching && app.config.action_dispatch.rack_cache
|
|
49
|
-
app.config.middleware.insert 0, ::Rack::Cache, {
|
|
50
|
-
verbose: true,
|
|
51
|
-
metastore: URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/meta"), # URI encoded in case of spaces
|
|
52
|
-
entitystore: URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/body")
|
|
53
|
-
}
|
|
54
|
-
end
|
|
55
|
-
app.config.middleware.insert_after ::Rack::Cache, ::Dragonfly::Middleware, :refinery_resources
|
|
56
|
-
else
|
|
57
|
-
app.config.middleware.use ::Dragonfly::Middleware, :refinery_resources
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
data/spec/lib/resources_spec.rb
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
require "spec_helper"
|
|
2
|
-
|
|
3
|
-
describe Refinery::Resources do
|
|
4
|
-
describe "with custom s3 settings" do
|
|
5
|
-
it "prefers custom values over the default" do
|
|
6
|
-
Refinery::Core.s3_bucket_name = "kfc"
|
|
7
|
-
described_class.s3_bucket_name = "buckethead"
|
|
8
|
-
|
|
9
|
-
expect(described_class.s3_bucket_name).to eq("buckethead")
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
describe "without custom s3 settings" do
|
|
14
|
-
it "falls back on defaults" do
|
|
15
|
-
described_class.s3_bucket_name = nil
|
|
16
|
-
Refinery::Core.s3_bucket_name = "kfc"
|
|
17
|
-
|
|
18
|
-
expect(described_class.s3_bucket_name).to eq("kfc")
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
describe "with a custom storage backend" do
|
|
23
|
-
before(:all) do
|
|
24
|
-
DummyBackend1 = Class.new
|
|
25
|
-
DummyBackend2 = Class.new
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
before(:each) do
|
|
29
|
-
allow(Refinery::Core).to receive_messages(:dragonfly_custom_backend_class => DummyBackend1)
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
after(:each) do
|
|
33
|
-
described_class.custom_backend_class = nil
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
it "uses the default configuration if present" do
|
|
37
|
-
expect(described_class.custom_backend_class).to eq(DummyBackend1)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
it "prefers custom values over the defaults" do
|
|
41
|
-
described_class.custom_backend_class = 'DummyBackend2'
|
|
42
|
-
expect(described_class.custom_backend_class).to eq(DummyBackend2)
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|