pageflow 13.0.0.beta3 → 13.0.0.beta4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of pageflow might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +71 -1
- data/app/helpers/pageflow/pages_helper.rb +0 -2
- data/app/models/pageflow/zencoder_attachment.rb +1 -1
- data/config/initializers/paperclip.rb +9 -112
- data/config/initializers/zencoder.rb +4 -1
- data/lib/generators/pageflow/initializer/templates/pageflow.rb +25 -3
- data/lib/pageflow.rb +1 -0
- data/lib/pageflow/configuration.rb +15 -4
- data/lib/pageflow/configuration/defaults.rb +74 -0
- data/lib/pageflow/engine.rb +41 -3
- data/lib/pageflow/paperclip_interpolations/support.rb +27 -0
- data/lib/pageflow/version.rb +1 -1
- data/lib/pageflow/zencoder_api.rb +0 -4
- metadata +23 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 87a8ee35973fb24ab70eddd0957051669305ca60f5ba282835e045f0cbae581e
|
4
|
+
data.tar.gz: 4b9702e875692aa070fb42165ad9064374cee8754c67c197e39c616aeabfc6f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90a170e73580605c8c6601d1c2cd5bddd4eda0a913ec31b1b1d3356ad48d34b72a47cf9dc9c0c8cf2f6c3c31d4320ef6a8b933521f279e0ebc0618f427c80d40
|
7
|
+
data.tar.gz: bd8c97d97d5a9d07fb9f2e19a12841f6da7f56b8db4d286f079429ca810d17d02a717c6d3fc53207b3d6eb1856f72148aa768715c2a892b8909fe2f1fb173aa2
|
data/CHANGELOG.md
CHANGED
@@ -1,14 +1,80 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
### Version 13.0.0.beta4
|
4
|
+
|
5
|
+
2018-08-08
|
6
|
+
|
7
|
+
[Compare changes](https://github.com/codevise/pageflow/compare/v13.0.0.beta3...v13.0.0.beta4)
|
8
|
+
|
9
|
+
#### Manual Update Steps
|
10
|
+
|
11
|
+
- Upgraded to Paperclip 6.1
|
12
|
+
([#983](https://github.com/codevise/pageflow/pull/983))
|
13
|
+
|
14
|
+
Set the name of the S3 region you are using in
|
15
|
+
`config/initializers/pageflow.rb`. The complete configuration looks
|
16
|
+
like this:
|
17
|
+
|
18
|
+
config.paperclip_s3_default_options.merge!(
|
19
|
+
s3_credentials: {
|
20
|
+
bucket: ENV.fetch('S3_BUCKET', 'com-example-pageflow-development'),
|
21
|
+
access_key_id: ENV.fetch('S3_ACCESS_KEY', 'xxx'),
|
22
|
+
secret_access_key: ENV.fetch('S3_SECRET_KEY', 'xxx'),
|
23
|
+
},
|
24
|
+
s3_host_name: ENV.fetch('S3_HOST_NAME', 's3-eu-west-1.amazonaws.com'),
|
25
|
+
s3_region: ENV.fetch('S3_REGION', 'eu-central-1'), # <= new line
|
26
|
+
s3_host_alias: ENV.fetch('S3_HOST_ALIAS', 'com-example-pageflow.s3-website-eu-west-1.amazonaws.com'),
|
27
|
+
s3_protocol: ENV.fetch('S3_PROTOCOL', 'http')
|
28
|
+
)
|
29
|
+
|
30
|
+
- The `:host` interpolation has been renamed to `:pageflow_s3_root`.
|
31
|
+
([#985](https://github.com/codevise/pageflow/pull/985)
|
32
|
+
|
33
|
+
Pageflow plugins using the interpolation in Paperclip options need
|
34
|
+
to be updated.
|
35
|
+
|
36
|
+
- The name of the root folder in the S3 bucket needs to be configured
|
37
|
+
explicitly.
|
38
|
+
([#985](https://github.com/codevise/pageflow/pull/985)
|
39
|
+
|
40
|
+
Add the following code to your Pageflow initializer to keep using
|
41
|
+
host specific root folders in development S3 buckets.
|
42
|
+
|
43
|
+
config.paperclip_s3_root =
|
44
|
+
if Rails.env.development?
|
45
|
+
require 'socket'
|
46
|
+
Socket.gethostname
|
47
|
+
else
|
48
|
+
'main'
|
49
|
+
end
|
50
|
+
|
51
|
+
This used to be the default behavior.
|
52
|
+
|
53
|
+
#### Rails Engine
|
54
|
+
|
55
|
+
- Allow using `sassc-rails`
|
56
|
+
([#982](https://github.com/codevise/pageflow/pull/982))
|
57
|
+
|
58
|
+
#### Internals
|
59
|
+
|
60
|
+
- Ensure `lib/pagefow` is eager loaded in production
|
61
|
+
([#984](https://github.com/codevise/pageflow/pull/984),
|
62
|
+
[#987](https://github.com/codevise/pageflow/pull/987))
|
63
|
+
|
3
64
|
### Version 13.0.0.beta3
|
4
65
|
|
5
66
|
2018-07-31
|
6
67
|
|
7
68
|
[Compare changes](https://github.com/codevise/pageflow/compare/v13.0.0.beta2...v13.0.0.beta3)
|
8
69
|
|
9
|
-
|
70
|
+
#### Breaking Changes
|
71
|
+
|
72
|
+
- Migrated to `state_machines` gem
|
10
73
|
([#981](https://github.com/codevise/pageflow/pull/981))
|
11
74
|
|
75
|
+
Pageflow no longer depends on a fork of the `state_machine` gem. The
|
76
|
+
corresponding `Gemfile` entry has to be removed.
|
77
|
+
|
12
78
|
### Version 13.0.0.beta2
|
13
79
|
|
14
80
|
2018-07-31
|
@@ -59,6 +125,10 @@
|
|
59
125
|
gem 'redis', '~> 3.0'
|
60
126
|
gem 'redis-namespace', '~> 1.5'
|
61
127
|
|
128
|
+
Then set Resque as default queue adapter in `config/application.rb`:
|
129
|
+
|
130
|
+
config.active_job.queue_adapter = :resque
|
131
|
+
|
62
132
|
The `resque-logger` and `resque_mailer` gems are no longer
|
63
133
|
used. Their initializers need to be removed from the host
|
64
134
|
application:
|
@@ -58,7 +58,5 @@ module Pageflow
|
|
58
58
|
def page_thumbnail_image_class(page, hero)
|
59
59
|
file_thumbnail_css_class(page.thumbnail_file, hero ? :link_thumbnail_large : :link_thumbnail)
|
60
60
|
end
|
61
|
-
|
62
|
-
CSS_RENDERED_THUMBNAIL_STYLES = [:thumbnail_large, :navigation_thumbnail_large, :link_thumbnail, :link_thumbnail_large]
|
63
61
|
end
|
64
62
|
end
|
@@ -4,7 +4,7 @@ module Pageflow
|
|
4
4
|
class ZencoderAttachment
|
5
5
|
cattr_accessor :default_options
|
6
6
|
self.default_options = {
|
7
|
-
path: '/:zencoder_asset_version/:
|
7
|
+
path: '/:zencoder_asset_version/:pageflow_s3_root/:class/:id_partition/:zencoder_filename',
|
8
8
|
url: ':zencoder_protocol//:zencoder_host_alias:zencoder_path',
|
9
9
|
hls_url: ':zencoder_protocol//:zencoder_hls_host_alias:zencoder_path',
|
10
10
|
hls_origin_url: ':zencoder_protocol//:zencoder_hls_origin_host_alias:zencoder_path'
|
@@ -1,128 +1,25 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
Pageflow.configure do |config|
|
4
|
-
config.paperclip_attachments_version = 'v1'
|
5
|
-
config.paperclip_filesystem_root = Rails.root.join('tmp/attachments/production/')
|
6
|
-
|
7
|
-
if Rails.env.test?
|
8
|
-
config.paperclip_s3_default_options.merge!({
|
9
|
-
storage: :filesystem,
|
10
|
-
path: ':rails_root/tmp/attachments/test/s3/:class/:attachment/:id_partition/:style/:filename'
|
11
|
-
})
|
12
|
-
else
|
13
|
-
config.paperclip_s3_default_options.merge!({
|
14
|
-
storage: :s3,
|
15
|
-
s3_headers: {'Cache-Control' => "public, max-age=31536000"},
|
16
|
-
s3_options: {max_retries: 10},
|
17
|
-
|
18
|
-
url: ':s3_alias_url',
|
19
|
-
path: ':host/:class_basename/:attachment/:id_partition/:pageflow_attachments_version:style/:filename',
|
20
|
-
|
21
|
-
# Paperclip deletes and reuploads the original on
|
22
|
-
# reprocess. Sometimes S3 seems to change the order of commands
|
23
|
-
# causing the image to be deleted. This is fixed on paperclip
|
24
|
-
# master, but for us not deleting old files is good enough. They
|
25
|
-
# might be in the CDN anyway.
|
26
|
-
keep_old_files: true
|
27
|
-
})
|
28
|
-
end
|
29
|
-
|
30
|
-
config.paperclip_filesystem_default_options.merge!({
|
31
|
-
storage: :filesystem,
|
32
|
-
path: ':pageflow_filesystem_root/:class/:attachment/:id_partition/:style/:filename',
|
33
|
-
url: 'not_uploaded_yet'
|
34
|
-
})
|
35
|
-
|
36
|
-
config.thumbnail_styles = {
|
37
|
-
thumbnail: {
|
38
|
-
geometry: '100x100#',
|
39
|
-
format: :JPG
|
40
|
-
},
|
41
|
-
thumbnail_large: {
|
42
|
-
geometry: '560x315#',
|
43
|
-
format: :JPG
|
44
|
-
},
|
45
|
-
|
46
|
-
navigation_thumbnail_small: {
|
47
|
-
geometry: '85x47#',
|
48
|
-
format: :JPG
|
49
|
-
},
|
50
|
-
navigation_thumbnail_large: {
|
51
|
-
geometry: '170x95#',
|
52
|
-
format: :JPG
|
53
|
-
},
|
54
|
-
thumbnail_overview_desktop: {
|
55
|
-
geometry: '230x72#',
|
56
|
-
format: :JPG
|
57
|
-
},
|
58
|
-
thumbnail_overview_mobile: {
|
59
|
-
geometry: '200x112#',
|
60
|
-
format: :JPG
|
61
|
-
},
|
62
|
-
|
63
|
-
link_thumbnail: {
|
64
|
-
geometry: '192x108#',
|
65
|
-
format: :JPG
|
66
|
-
},
|
67
|
-
link_thumbnail_large: {
|
68
|
-
geometry: '394x226#',
|
69
|
-
format: :JPG
|
70
|
-
}
|
71
|
-
}
|
72
|
-
end
|
73
|
-
|
74
|
-
if Rails.env.development?
|
75
|
-
Paperclip.interpolates(:pageflow_filesystem_root) do |attachment, style|
|
76
|
-
Rails.root.join('tmp/attachments/development/filesystem')
|
77
|
-
end
|
78
|
-
|
79
|
-
Paperclip.interpolates(:host) do |attachment, style|
|
80
|
-
ENV.fetch('PAGEFLOW_ATTACHMENTS_SCOPE_NAME') { Socket.gethostname }
|
81
|
-
end
|
1
|
+
Paperclip.interpolates(:pageflow_filesystem_root) do |_attachment, _style|
|
2
|
+
Pageflow.config.paperclip_filesystem_root
|
82
3
|
end
|
83
4
|
|
84
|
-
|
85
|
-
|
86
|
-
Pageflow.config.paperclip_filesystem_root
|
87
|
-
end
|
88
|
-
|
89
|
-
Paperclip.interpolates(:host) do |attachment, style|
|
90
|
-
'main'
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
if Rails.env.test?
|
95
|
-
Paperclip.interpolates(:pageflow_filesystem_root) do |attachment, style|
|
96
|
-
Rails.root.join('tmp/attachments/test/filesystem')
|
97
|
-
end
|
98
|
-
|
99
|
-
Paperclip.interpolates(:host) do |attachment, style|
|
100
|
-
'test-host'
|
101
|
-
end
|
102
|
-
|
103
|
-
class Paperclip::Attachment
|
104
|
-
def bucket_name
|
105
|
-
'test'
|
106
|
-
end
|
107
|
-
end
|
5
|
+
Paperclip.interpolates(:pageflow_s3_root) do |_attachment, _style|
|
6
|
+
Pageflow.config.paperclip_s3_root
|
108
7
|
end
|
109
8
|
|
110
9
|
Paperclip.interpolates(:class_basename) do |attachment, style|
|
111
|
-
|
10
|
+
Pageflow::PaperclipInterpolations::Support.class_basename(attachment, style)
|
112
11
|
end
|
113
12
|
|
114
13
|
Paperclip.interpolates(:pageflow_placeholder) do |attachment, style|
|
115
|
-
|
14
|
+
Pageflow::PaperclipInterpolations::Support.pageflow_placeholder(attachment, style)
|
116
15
|
end
|
117
16
|
|
118
17
|
Paperclip.interpolates(:pageflow_attachments_version) do |attachment, style|
|
119
|
-
|
120
|
-
|
121
|
-
if version.present? && style != :original
|
122
|
-
"#{version}/"
|
123
|
-
end
|
18
|
+
Pageflow::PaperclipInterpolations::Support.pageflow_attachments_version(attachment, style)
|
124
19
|
end
|
125
20
|
|
126
21
|
Paperclip.configure do |config|
|
127
22
|
config.register_processor(:pageflow_vtt, Pageflow::PaperclipProcessors::Vtt)
|
128
23
|
end
|
24
|
+
|
25
|
+
Paperclip::UriAdapter.register
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'zencoder'
|
2
|
-
require 'pageflow/zencoder_api'
|
3
2
|
|
4
3
|
Pageflow.after_global_configure do |config|
|
5
4
|
zencoder_options = config.zencoder_options
|
@@ -46,3 +45,7 @@ end
|
|
46
45
|
Paperclip.interpolates(:zencoder_path) do |attachment, style|
|
47
46
|
attachment.path
|
48
47
|
end
|
48
|
+
|
49
|
+
Paperclip.interpolates(:zencoder_filename) do |attachment, _style|
|
50
|
+
attachment.original_filename
|
51
|
+
end
|
@@ -25,7 +25,28 @@ Pageflow.configure do |config|
|
|
25
25
|
# Path to the location in the filesystem where attachments shall
|
26
26
|
# be stored. The value of this option is available via the
|
27
27
|
# pageflow_filesystem_root paperclip interpolation.
|
28
|
-
|
28
|
+
|
29
|
+
# The directory on the server where uploads are stored before processing.
|
30
|
+
# If you are using more than one server to host Pageflow, it is required
|
31
|
+
# that all web servers and all process servers have write access to it. You
|
32
|
+
# will need to create a shared folder and mount it on your servers.
|
33
|
+
#
|
34
|
+
# For single servers, you must take care to retain access to it between
|
35
|
+
# deployments. That's why the default value points to the system folder, which
|
36
|
+
# is usually automatically symlinked by Capistrano.
|
37
|
+
config.paperclip_filesystem_root = Rails.public_path.join('system/uploads')
|
38
|
+
|
39
|
+
# Allow multiple development instances to share one S3 bucket by
|
40
|
+
# keeping each instance's files in a separate folder named after the
|
41
|
+
# system's hostname. Use a generic `main` folder in all other
|
42
|
+
# environments.
|
43
|
+
config.paperclip_s3_root =
|
44
|
+
if Rails.env.development?
|
45
|
+
require 'socket'
|
46
|
+
Socket.gethostname
|
47
|
+
else
|
48
|
+
'main'
|
49
|
+
end
|
29
50
|
|
30
51
|
# How to handle https requests for URLs which will have assets in the page.
|
31
52
|
# If you wish to serve all assets over http and prevent mixed-content warnings,
|
@@ -52,9 +73,10 @@ Pageflow.configure do |config|
|
|
52
73
|
s3_credentials: {
|
53
74
|
bucket: ENV.fetch('S3_BUCKET', 'com-example-pageflow-development'),
|
54
75
|
access_key_id: ENV.fetch('S3_ACCESS_KEY', 'xxx'),
|
55
|
-
secret_access_key: ENV.fetch('S3_SECRET_KEY', 'xxx')
|
56
|
-
s3_host_name: ENV.fetch('S3_HOST_NAME', 's3-eu-west-1.amazonaws.com')
|
76
|
+
secret_access_key: ENV.fetch('S3_SECRET_KEY', 'xxx')
|
57
77
|
},
|
78
|
+
s3_host_name: ENV.fetch('S3_HOST_NAME', 's3-eu-west-1.amazonaws.com'),
|
79
|
+
s3_region: ENV.fetch('S3_REGION', 'eu-west-1'),
|
58
80
|
s3_host_alias: ENV.fetch('S3_HOST_ALIAS',
|
59
81
|
'com-example-pageflow.s3-website-eu-west-1.amazonaws.com'),
|
60
82
|
s3_protocol: ENV.fetch('S3_PROTOCOL', 'http')
|
data/lib/pageflow.rb
CHANGED
@@ -19,6 +19,13 @@ module Pageflow
|
|
19
19
|
# pageflow_filesystem_root paperclip interpolation.
|
20
20
|
attr_accessor :paperclip_filesystem_root
|
21
21
|
|
22
|
+
# Root folder in S3 bucket to store files in. Can be used to
|
23
|
+
# separate files of multiple development instances in a shared
|
24
|
+
# development S3 bucket.
|
25
|
+
#
|
26
|
+
# @since 13.0
|
27
|
+
attr_accessor :paperclip_s3_root
|
28
|
+
|
22
29
|
# Refer to the pageflow initializer template for a list of
|
23
30
|
# supported options.
|
24
31
|
attr_accessor :zencoder_options
|
@@ -294,8 +301,12 @@ module Pageflow
|
|
294
301
|
attr_accessor :news
|
295
302
|
|
296
303
|
def initialize
|
297
|
-
@
|
298
|
-
@
|
304
|
+
@paperclip_attachments_version = 'v1'
|
305
|
+
@paperclip_filesystem_root = Rails.public_path.join('system/uploads')
|
306
|
+
@paperclip_s3_root = 'main'
|
307
|
+
|
308
|
+
@paperclip_filesystem_default_options = Defaults::PAPERCLIP_FILESYSTEM_DEFAULT_OPTIONS.dup
|
309
|
+
@paperclip_s3_default_options = Defaults::PAPERCLIP_S3_DEFAULT_OPTIONS.dup
|
299
310
|
|
300
311
|
@zencoder_options = {}
|
301
312
|
|
@@ -310,8 +321,8 @@ module Pageflow
|
|
310
321
|
@widget_types = WidgetTypes.new
|
311
322
|
@help_entries = HelpEntries.new
|
312
323
|
|
313
|
-
@thumbnail_styles =
|
314
|
-
@css_rendered_thumbnail_styles =
|
324
|
+
@thumbnail_styles = Defaults::THUMBNAIL_STYLES.dup
|
325
|
+
@css_rendered_thumbnail_styles = Defaults::CSS_RENDERED_THUMBNAIL_STYLES.dup
|
315
326
|
|
316
327
|
@theming_request_scope = CnameThemingRequestScope.new
|
317
328
|
@public_entry_request_scope = lambda { |entries, request| entries }
|
@@ -0,0 +1,74 @@
|
|
1
|
+
module Pageflow
|
2
|
+
class Configuration
|
3
|
+
module Defaults
|
4
|
+
PAPERCLIP_FILESYSTEM_DEFAULT_OPTIONS = {
|
5
|
+
storage: :filesystem,
|
6
|
+
path: ':pageflow_filesystem_root/:class/:attachment/:id_partition/:style/:filename',
|
7
|
+
url: 'not_uploaded_yet',
|
8
|
+
validate_media_type: false
|
9
|
+
}.freeze
|
10
|
+
|
11
|
+
PAPERCLIP_S3_DEFAULT_OPTIONS = {
|
12
|
+
storage: :s3,
|
13
|
+
s3_headers: {'Cache-Control' => 'public, max-age=31536000'},
|
14
|
+
|
15
|
+
url: ':s3_alias_url',
|
16
|
+
path: ':pageflow_s3_root/:class_basename/:attachment/' \
|
17
|
+
':id_partition/:pageflow_attachments_version:style/:filename',
|
18
|
+
|
19
|
+
validate_media_type: false,
|
20
|
+
|
21
|
+
# Paperclip deletes and reuploads the original on
|
22
|
+
# reprocess. Sometimes S3 seems to change the order of commands
|
23
|
+
# causing the image to be deleted. This is fixed on paperclip
|
24
|
+
# master, but for us not deleting old files is good enough. They
|
25
|
+
# might be in the CDN anyway.
|
26
|
+
keep_old_files: true
|
27
|
+
}.freeze
|
28
|
+
|
29
|
+
THUMBNAIL_STYLES = {
|
30
|
+
thumbnail: {
|
31
|
+
geometry: '100x100#',
|
32
|
+
format: :JPG
|
33
|
+
},
|
34
|
+
thumbnail_large: {
|
35
|
+
geometry: '560x315#',
|
36
|
+
format: :JPG
|
37
|
+
},
|
38
|
+
|
39
|
+
navigation_thumbnail_small: {
|
40
|
+
geometry: '85x47#',
|
41
|
+
format: :JPG
|
42
|
+
},
|
43
|
+
navigation_thumbnail_large: {
|
44
|
+
geometry: '170x95#',
|
45
|
+
format: :JPG
|
46
|
+
},
|
47
|
+
thumbnail_overview_desktop: {
|
48
|
+
geometry: '230x72#',
|
49
|
+
format: :JPG
|
50
|
+
},
|
51
|
+
thumbnail_overview_mobile: {
|
52
|
+
geometry: '200x112#',
|
53
|
+
format: :JPG
|
54
|
+
},
|
55
|
+
|
56
|
+
link_thumbnail: {
|
57
|
+
geometry: '192x108#',
|
58
|
+
format: :JPG
|
59
|
+
},
|
60
|
+
link_thumbnail_large: {
|
61
|
+
geometry: '394x226#',
|
62
|
+
format: :JPG
|
63
|
+
}
|
64
|
+
}.freeze
|
65
|
+
|
66
|
+
CSS_RENDERED_THUMBNAIL_STYLES = [
|
67
|
+
:thumbnail_large,
|
68
|
+
:navigation_thumbnail_large,
|
69
|
+
:link_thumbnail,
|
70
|
+
:link_thumbnail_large
|
71
|
+
].freeze
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
data/lib/pageflow/engine.rb
CHANGED
@@ -2,7 +2,7 @@ require 'yajl'
|
|
2
2
|
require 'state_machines-activerecord'
|
3
3
|
require 'state_machine_job'
|
4
4
|
require 'paperclip'
|
5
|
-
require 'aws-sdk'
|
5
|
+
require 'aws-sdk-s3'
|
6
6
|
require 'friendly_id'
|
7
7
|
require 'devise'
|
8
8
|
require 'cancan'
|
@@ -36,8 +36,46 @@ module Pageflow
|
|
36
36
|
class Engine < ::Rails::Engine
|
37
37
|
isolate_namespace Pageflow
|
38
38
|
|
39
|
-
config.
|
40
|
-
config.
|
39
|
+
config.paths.add('app/views/components', autoload: true)
|
40
|
+
config.paths.add('lib', autoload: true)
|
41
|
+
|
42
|
+
def eager_load!
|
43
|
+
# Manually eager load `lib/pageflow` as the least bad option:
|
44
|
+
#
|
45
|
+
# - Autoload paths are not eager loaded in production.
|
46
|
+
#
|
47
|
+
# - `lib` cannot be an eager load path since otherwise templates
|
48
|
+
# in `lib/generators` are also executed.
|
49
|
+
#
|
50
|
+
# - `lib/pageflow` cannot be an eager load path since eager load
|
51
|
+
# paths are automatically used as autoload paths. That way
|
52
|
+
# `lib/pageflow/admin/something.rb` could be autoloaded via
|
53
|
+
# `Admin::Something`.
|
54
|
+
#
|
55
|
+
# - Using `require` in `lib/pageflow.rb` disables code
|
56
|
+
# reloading.
|
57
|
+
#
|
58
|
+
# - Using `require_dependency` in `lib/pageflow.rb` does not
|
59
|
+
# activate code reloading either since it requires the
|
60
|
+
# autoload path to be set up correctly, which only happens
|
61
|
+
# during initialization.
|
62
|
+
super
|
63
|
+
|
64
|
+
lib_path = config.root.join('lib')
|
65
|
+
matcher = %r{\A#{Regexp.escape(lib_path.to_s)}/(.*)\.rb\Z}
|
66
|
+
|
67
|
+
already_required_files = [
|
68
|
+
'pageflow/engine',
|
69
|
+
'pageflow/global_config_api',
|
70
|
+
'pageflow/news_item_api',
|
71
|
+
'pageflow/version'
|
72
|
+
]
|
73
|
+
|
74
|
+
Dir.glob("#{lib_path}/pageflow/**/*.rb").sort.each do |file|
|
75
|
+
logical_path = file.sub(matcher, '\1')
|
76
|
+
require_dependency(logical_path) unless already_required_files.include?(logical_path)
|
77
|
+
end
|
78
|
+
end
|
41
79
|
|
42
80
|
config.i18n.load_path += Dir[config.root.join('config', 'locales', '**', '*.yml').to_s]
|
43
81
|
config.i18n.available_locales = [:en, :de] | PublicI18n.available_locales
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module PaperclipInterpolations
|
3
|
+
# @api private
|
4
|
+
module Support
|
5
|
+
extend self
|
6
|
+
|
7
|
+
def pageflow_placeholder(_attachment, style)
|
8
|
+
"pageflow/placeholder_#{style}.jpg"
|
9
|
+
end
|
10
|
+
|
11
|
+
def pageflow_attachments_version(_attachment, style)
|
12
|
+
version = Pageflow.config.paperclip_attachments_version
|
13
|
+
"#{version}/" if version.present? && style != :original
|
14
|
+
end
|
15
|
+
|
16
|
+
def class_basename(attachment, _style)
|
17
|
+
attachment \
|
18
|
+
.instance
|
19
|
+
.class
|
20
|
+
.name
|
21
|
+
.demodulize
|
22
|
+
.underscore
|
23
|
+
.pluralize
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/pageflow/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pageflow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 13.0.0.
|
4
|
+
version: 13.0.0.beta4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Codevise Solutions Ltd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -128,14 +128,14 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: '6.1'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
138
|
+
version: '6.1'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: zencoder
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -151,19 +151,19 @@ dependencies:
|
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '2.5'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name: aws-sdk
|
154
|
+
name: aws-sdk-s3
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: '1.
|
159
|
+
version: '1.0'
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: '1.
|
166
|
+
version: '1.0'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: kramdown
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -332,20 +332,6 @@ dependencies:
|
|
332
332
|
- - "~>"
|
333
333
|
- !ruby/object:Gem::Version
|
334
334
|
version: '1.1'
|
335
|
-
- !ruby/object:Gem::Dependency
|
336
|
-
name: sass-rails
|
337
|
-
requirement: !ruby/object:Gem::Requirement
|
338
|
-
requirements:
|
339
|
-
- - "~>"
|
340
|
-
- !ruby/object:Gem::Version
|
341
|
-
version: '5.0'
|
342
|
-
type: :runtime
|
343
|
-
prerelease: false
|
344
|
-
version_requirements: !ruby/object:Gem::Requirement
|
345
|
-
requirements:
|
346
|
-
- - "~>"
|
347
|
-
- !ruby/object:Gem::Version
|
348
|
-
version: '5.0'
|
349
335
|
- !ruby/object:Gem::Dependency
|
350
336
|
name: sass
|
351
337
|
requirement: !ruby/object:Gem::Requirement
|
@@ -562,6 +548,20 @@ dependencies:
|
|
562
548
|
- - "~>"
|
563
549
|
- !ruby/object:Gem::Version
|
564
550
|
version: '1.5'
|
551
|
+
- !ruby/object:Gem::Dependency
|
552
|
+
name: sassc-rails
|
553
|
+
requirement: !ruby/object:Gem::Requirement
|
554
|
+
requirements:
|
555
|
+
- - "~>"
|
556
|
+
- !ruby/object:Gem::Version
|
557
|
+
version: '1.0'
|
558
|
+
type: :development
|
559
|
+
prerelease: false
|
560
|
+
version_requirements: !ruby/object:Gem::Requirement
|
561
|
+
requirements:
|
562
|
+
- - "~>"
|
563
|
+
- !ruby/object:Gem::Version
|
564
|
+
version: '1.0'
|
565
565
|
- !ruby/object:Gem::Dependency
|
566
566
|
name: rspec-rails
|
567
567
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1909,6 +1909,7 @@ files:
|
|
1909
1909
|
- lib/pageflow/built_in_widget_type.rb
|
1910
1910
|
- lib/pageflow/built_in_widget_types_plugin.rb
|
1911
1911
|
- lib/pageflow/configuration.rb
|
1912
|
+
- lib/pageflow/configuration/defaults.rb
|
1912
1913
|
- lib/pageflow/configuration/permissions.rb
|
1913
1914
|
- lib/pageflow/engine.rb
|
1914
1915
|
- lib/pageflow/feature.rb
|
@@ -1924,6 +1925,7 @@ files:
|
|
1924
1925
|
- lib/pageflow/page_type.rb
|
1925
1926
|
- lib/pageflow/page_type_feature.rb
|
1926
1927
|
- lib/pageflow/page_types.rb
|
1928
|
+
- lib/pageflow/paperclip_interpolations/support.rb
|
1927
1929
|
- lib/pageflow/paperclip_processors/vtt.rb
|
1928
1930
|
- lib/pageflow/plugin.rb
|
1929
1931
|
- lib/pageflow/quota.rb
|