effective_pages 1.1.9 → 1.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 10232000ebdfe564ff4a0ef275a2dd2de7286f88
4
- data.tar.gz: fd42311db48022159ba9c363ed92b13d09e0d675
2
+ SHA256:
3
+ metadata.gz: bffac68aca6d5b8bf6eb6d49addc6440cf029d784f084e6aad1b61c5be9c6134
4
+ data.tar.gz: 65199de9b7977a8ca49da7804419e2b4dda375e119005e82c9617e7f8a4812d2
5
5
  SHA512:
6
- metadata.gz: b667a9f24a264ea2bcde76dab7be3553954a6237e0662e67d3f362de960b522620cfe81bf6cb482a29c60ce4a657225999d0ea0e627536775d2660a5a3939ba2
7
- data.tar.gz: 526e8332b63783c119efc1a52ac995d20c6db4f0a2ab67c990c09ed2852fb7f8f70ebebdcd0f684842cec7f85314cfc4908459bc8739ba8775fcb6f3a891d352
6
+ metadata.gz: 778e6319b2a2ea1d3aeb77d581e7646f0e2899ba65140c029cd537683596543f1c182ed2ba3a4d155acff1eaf5e4b850674255ff2cae17e436ec24db27e736ee
7
+ data.tar.gz: eeffa1a33cdba787cfe34cb1658683dd416d1c9988012d229ee80ad3036d058eaf919a0c5726373bfcfd924837e47b5985bccae9c6a5aab8888dd909334546d3
@@ -2,6 +2,8 @@ module Effective
2
2
  class Menu < ActiveRecord::Base
3
3
  has_many :menu_items, dependent: :delete_all
4
4
 
5
+ acts_as_role_restricted
6
+
5
7
  self.table_name = EffectivePages.menus_table_name.to_s
6
8
  attr_protected() if Rails::VERSION::MAJOR == 3
7
9
 
@@ -13,15 +13,15 @@
13
13
 
14
14
  = f.input :meta_description, hint: "A one or two sentence summary of this page. Appears on Google search results underneath the page title.", input_html: { maxlength: 150 }
15
15
 
16
- - if EffectivePages.pages.length == 1
17
- = f.input :template, as: :hidden, input_html: { value: EffectivePages.pages.first.first }
16
+ - if (templates = EffectivePages.templates).length == 1
17
+ = f.hidden_field :template, value: templates.first
18
18
  - else
19
- = f.input :template, as: (defined?(EffectiveFormInputs) ? :effective_select : :select), collection: EffectivePages.pages, include_blank: false
19
+ = f.input :template, as: (defined?(EffectiveFormInputs) ? :effective_select : :select), collection: templates
20
20
 
21
- - if EffectivePages.layouts.length == 1
22
- = f.input :layout, as: :hidden, value: EffectivePages.layouts.first
21
+ - if (layouts = EffectivePages.layouts).length == 1
22
+ = f.hidden_field :layout, value: layouts.first
23
23
  - else
24
- = f.input :layout, as: (defined?(EffectiveFormInputs) ? :effective_select : :select), collection: EffectivePages.layouts, include_blank: false
24
+ = f.input :layout, as: (defined?(EffectiveFormInputs) ? :effective_select : :select), collection: layouts
25
25
 
26
26
  - if f.object.respond_to?(:roles)
27
27
  = f.input :roles, collection: EffectiveRoles.roles_collection(f.object), as: :check_boxes, hint: '* leave blank for a regular public page that anyone can view'
@@ -1,3 +1,3 @@
1
1
  module EffectivePages
2
- VERSION = '1.1.9'.freeze
2
+ VERSION = '1.2.0'.freeze
3
3
  end
@@ -40,12 +40,23 @@ module EffectivePages
40
40
  true
41
41
  end
42
42
 
43
- def self.pages
44
- Rails.env.development? ? read_pages : (@@pages ||= read_pages)
43
+ def self.templates
44
+ ApplicationController.view_paths.map { |path| Dir["#{path}/#{pages_path}/**"] }.flatten.reverse.map do |file|
45
+ name = File.basename(file).split('.').first
46
+ next if name.starts_with?('_')
47
+ next if Array(EffectivePages.excluded_pages).map { |str| str.to_s }.include?(name)
48
+ name
49
+ end.compact
45
50
  end
46
51
 
47
52
  def self.layouts
48
- Rails.env.development? ? read_layouts : (@@layouts ||= read_layouts)
53
+ ApplicationController.view_paths.map { |path| Dir["#{path}/layouts/**"] }.flatten.reverse.map do |file|
54
+ name = File.basename(file).split('.').first
55
+ next if name.starts_with?('_')
56
+ next if name.include?('mailer')
57
+ next if Array(EffectivePages.excluded_layouts).map { |str| str.to_s }.include?(name)
58
+ name
59
+ end.compact
49
60
  end
50
61
 
51
62
  # Remove leading and trailing '/' characters
@@ -60,34 +71,4 @@ module EffectivePages
60
71
  @@permitted_params ||= [:title, :meta_description, :draft, :layout, :template, :slug, (EffectiveAssets.permitted_params if EffectivePages.acts_as_asset_box), roles: []].compact
61
72
  end
62
73
 
63
- private
64
-
65
- def self.read_pages
66
- files = ApplicationController.view_paths.map { |path| Dir["#{path}/#{pages_path}/**"] }.flatten.reverse
67
-
68
- HashWithIndifferentAccess.new().tap do |pages|
69
- files.each do |file|
70
- name = File.basename(file).split('.').first
71
- next if name.starts_with?('_') || Array(EffectivePages.excluded_pages).map { |str| str.to_s }.include?(name)
72
-
73
- pages[name.to_sym] = {}
74
- end
75
- end
76
- end
77
-
78
- def self.read_layouts
79
- files = ApplicationController.view_paths.map { |path| Dir["#{path}/layouts/**"] }.flatten.reverse
80
-
81
- HashWithIndifferentAccess.new().tap do |layouts|
82
- files.each do |file|
83
- name = File.basename(file).split('.').first
84
- next if name.starts_with?('_')
85
- next if name.include?('mailer')
86
- next if Array(EffectivePages.excluded_layouts).map { |str| str.to_s }.include?(name)
87
-
88
- layouts[name.to_sym] = {}
89
- end
90
- end
91
- end
92
-
93
74
  end
data/spec/dummy/spec ADDED
@@ -0,0 +1 @@
1
+ ../../spec
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_pages
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.9
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-31 00:00:00.000000000 Z
11
+ date: 2019-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -121,7 +121,7 @@ files:
121
121
  - Rakefile
122
122
  - app/assets/javascripts/effective_pages.js
123
123
  - app/assets/stylesheets/effective_pages.scss
124
- - app/assets/stylesheets/effective_pages/dropdown-submenu.css
124
+ - app/assets/stylesheets/effective_pages/dropdown-submenu.scss
125
125
  - app/controllers/admin/menus_controller.rb
126
126
  - app/controllers/admin/pages_controller.rb
127
127
  - app/controllers/effective/pages_controller.rb
@@ -196,6 +196,7 @@ files:
196
196
  - spec/dummy/public/500.html
197
197
  - spec/dummy/public/favicon.ico
198
198
  - spec/dummy/script/rails
199
+ - spec/dummy/spec
199
200
  - spec/dummy/spec_link
200
201
  - spec/effective_pages_spec.rb
201
202
  - spec/helpers/effective_menus_helper_spec.rb
@@ -221,8 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
221
222
  - !ruby/object:Gem::Version
222
223
  version: '0'
223
224
  requirements: []
224
- rubyforge_project:
225
- rubygems_version: 2.4.5.1
225
+ rubygems_version: 3.0.3
226
226
  signing_key:
227
227
  specification_version: 4
228
228
  summary: Content pages, bootstrap3 menu builder and page-specific header tag helpers
@@ -251,6 +251,7 @@ test_files:
251
251
  - spec/dummy/config/initializers/secret_token.rb
252
252
  - spec/dummy/config/initializers/inflections.rb
253
253
  - spec/dummy/config.ru
254
+ - spec/dummy/spec
254
255
  - spec/dummy/spec_link
255
256
  - spec/dummy/script/rails
256
257
  - spec/dummy/Rakefile