Sha256: 6141c879158dfe6c1525af42245470bd2d29e71f9cf482dad30e219f4f55657b
Contents?: true
Size: 1.3 KB
Versions: 8
Compression:
Stored size: 1.3 KB
Contents
module PagesHelper def current_page @current_page end def part(name, opts = {}, &block) if @current_page schema = opts.delete(:schema) || PagePart klass = schema.is_a?(Class) ? schema : "#{schema.to_s.camelize}PagePart".constantize p = klass.find_or_create_by_name_and_page_id("#{name}", @current_page) if block_given? block.call(p) else p end end end def page_path_for(resource_or_page) page = resource_or_page.is_a?(Page) ? resource_or_page : Page.find_by_resource_type(resource_or_page.class.name.underscore) path = page.try(:path) if path.blank? Rails.logger.info "#{resource_or_page} non trovato" Rails.logger.info "PAGINA: #{page}" Rails.logger.info "Path: #{page.path}" "#not-found" else path.gsub(/:[A-z_]+/) do |seg| meth = seg.gsub(/^:/, "") resource_or_page.send(meth) end end end def page_url_for(resource_or_page) "#{request.protocol}#{request.host_with_port}#{page_path_for(resource_or_page)}" end def current_page_resource() if current_page && current_page.resourceful? controller.instance_variable_get("@#{current_page.resource_type}") end end def home? request.path == "/" end end
Version data entries
8 entries across 8 versions & 1 rubygems