Module: Railsui::Pages
- Defined in:
- lib/railsui/pages.rb
Constant Summary collapse
- CONFIG_FILE =
Railsui::Engine.root.join('config', 'pages.yml')
- VIEWS_FOLDER =
Rails.root.join('app/views/rui/pages')
Class Method Summary collapse
- .all_pages ⇒ Object
- .all_pages_installed? ⇒ Boolean
- .get_pages(theme) ⇒ Object
- .installed_pages ⇒ Object
- .load_pages_config ⇒ Object
- .page_enabled?(page) ⇒ Boolean
- .page_exists?(page) ⇒ Boolean
- .theme_pages ⇒ Object
Class Method Details
.all_pages ⇒ Object
6 7 8 |
# File 'lib/railsui/pages.rb', line 6 def self.all_pages @all_pages ||= load_pages_config end |
.all_pages_installed? ⇒ Boolean
32 33 34 35 36 |
# File 'lib/railsui/pages.rb', line 32 def self.all_pages_installed? return false if theme_pages.nil? || theme_pages.empty? theme_pages.keys.all? { |page| page_exists?(page) } end |
.get_pages(theme) ⇒ Object
20 21 22 |
# File 'lib/railsui/pages.rb', line 20 def self.get_pages(theme) all_pages[theme.to_s].keys end |
.installed_pages ⇒ Object
38 39 40 41 42 |
# File 'lib/railsui/pages.rb', line 38 def self.installed_pages return {} if theme_pages.nil? theme_pages.select { |page, details| page_enabled?(page) && page_exists?(page) } end |
.load_pages_config ⇒ Object
46 47 48 49 50 |
# File 'lib/railsui/pages.rb', line 46 def self.load_pages_config return {} unless File.exist?(CONFIG_FILE) YAML.safe_load_file(CONFIG_FILE) end |
.page_enabled?(page) ⇒ Boolean
24 25 26 |
# File 'lib/railsui/pages.rb', line 24 def self.page_enabled?(page) Railsui.config.pages.include?(page.to_s) end |
.page_exists?(page) ⇒ Boolean
28 29 30 |
# File 'lib/railsui/pages.rb', line 28 def self.page_exists?(page) VIEWS_FOLDER.join("#{page}.html.erb").exist? end |
.theme_pages ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/railsui/pages.rb', line 10 def self.theme_pages theme = Railsui.config.theme return {} if theme.nil? pages = all_pages[theme] return {} if pages.nil? pages end |