Module: Burp
- Defined in:
- lib/burp_cms.rb,
lib/burp/engine.rb,
lib/burp/version.rb,
app/lib/burp/link.rb,
app/lib/burp/page.rb,
app/lib/burp/util.rb,
app/lib/burp/group.rb,
app/lib/burp/access.rb,
app/models/burp/menu.rb,
app/models/burp/file_model.rb,
app/models/burp/page_model.rb,
app/lib/burp/util/upload_handler.rb,
app/helpers/burp/application_helper.rb,
app/controllers/burp/error_controller.rb,
app/controllers/burp/files_controller.rb,
app/controllers/burp/links_controller.rb,
app/controllers/burp/menus_controller.rb,
app/controllers/burp/pages_controller.rb,
app/controllers/burp/groups_controller.rb,
app/controllers/burp/static_controller.rb,
app/controllers/burp/application_controller.rb
Overview
All paths to directories are expected to end with a slash.
Like this /home/darwin/
Defined Under Namespace
Modules: ApplicationHelper, Util Classes: Access, ApplicationController, CatchAllController, Engine, ErrorController, FileModel, FilesController, Group, GroupsController, Link, LinksController, Menu, MenusController, Page, PageModel, PagesController, StaticController
Constant Summary collapse
- VERSION =
"1.7.1"
- @@content_directory =
nil
- @@access_builder =
nil
{}
Class Method Summary collapse
- .add_menu_processor(name, &block) ⇒ Object
-
.content_directory ⇒ Object
Returns the content directory to use.
- .find_page(path) ⇒ Object
-
.global_content_directory=(path) ⇒ Object
Sets the content directory.
- .menu(request) ⇒ Object
- .new_access_instance(request, controller) ⇒ Object
- .set_access_builder(&block) ⇒ Object
-
.thread_local_content_directory=(path) ⇒ Object
Sets the content directory for the current thread.
-
.with_content_directory(path, &block) ⇒ Object
Runs the block with the content directory temporarly set to the supplied path.
Class Method Details
.add_menu_processor(name, &block) ⇒ Object
92 93 94 |
# File 'lib/burp_cms.rb', line 92 def self.(name, &block) @@menu_processors[name] = block end |
.content_directory ⇒ Object
Returns the content directory to use.
42 43 44 |
# File 'lib/burp_cms.rb', line 42 def self.content_directory Thread.current[:thread_local_content_directory] || @@content_directory || Rails.root.join('app/cms/').to_s end |
.find_page(path) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/burp_cms.rb', line 16 def self.find_page(path) page_model = Burp::PageModel.find(path) if page_model Page.new(:snippets => page_model.snippets, :title => page_model.title, :page_id => page_model.id, :meta_description => page_model.) end end |
.global_content_directory=(path) ⇒ Object
Sets the content directory
59 60 61 62 |
# File 'lib/burp_cms.rb', line 59 def self.global_content_directory=(path) raise "#{path} does not end with '/'" unless path.end_with?('/') @@content_directory = path end |
.menu(request) ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/burp_cms.rb', line 72 def self.(request) group = Group.new("") group.children << Link.new(:name => "Pages", :url => "/burp/pages") if Burp::Menu.count == 1 group.children << Link.new(:name => "Menu", :url => "/burp/menus/#{Burp::Menu.all.first.name}/edit") else group.children << Link.new(:name => "Menus", :url => "/burp/menus") end group.children << Link.new(:name => "Files", :url => "/burp/files") group.children << Link.new(:name => "Help", :url => "/burp/help", :class => "help-link") @@menu_processors.values.each do |block| block.call(group, request) end group end |
.new_access_instance(request, controller) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/burp_cms.rb', line 25 def self.new_access_instance(request, controller) if @@access_builder @@access_builder.call(request, controller) else Burp::Access.new end end |
.set_access_builder(&block) ⇒ Object
33 34 35 |
# File 'lib/burp_cms.rb', line 33 def self.set_access_builder &block @@access_builder = block end |
.thread_local_content_directory=(path) ⇒ Object
Sets the content directory for the current thread
67 68 69 70 |
# File 'lib/burp_cms.rb', line 67 def self.thread_local_content_directory=(path) raise "#{path} does not end with '/'" unless path.end_with?('/') Thread.current[:thread_local_content_directory] = path end |
.with_content_directory(path, &block) ⇒ Object
Runs the block with the content directory temporarly set to the supplied path
49 50 51 52 53 54 |
# File 'lib/burp_cms.rb', line 49 def self.with_content_directory(path,&block) self.thread_local_content_directory = path block.call ensure self.thread_local_content_directory = nil end |