effective_pages 1.1.9 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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