module Releaf::Content
Public Class Methods
configuration()
click to toggle source
# File lib/releaf-content.rb, line 23 def self.configuration Releaf.application.config.content end
configure_component()
click to toggle source
# File lib/releaf-content.rb, line 27 def self.configure_component Releaf.application.config.add_configuration( Releaf::Content::Configuration.new( resources: { 'Node' => { controller: 'Releaf::Content::NodesController' } } ) ) end
draw_component_routes(router)
click to toggle source
# File lib/releaf-content.rb, line 43 def self.draw_component_routes(router) resources.each do |_model_name, options| draw_resource_routes(router, options) end end
draw_resource_routes(router, options)
click to toggle source
# File lib/releaf-content.rb, line 49 def self.draw_resource_routes router, options route_params = resource_route_params options router.releaf_resources(*route_params) do router.collection do router.get :content_type_dialog router.get :generate_url end router.member do router.get :copy_dialog router.post :copy router.get :move_dialog router.post :move end end end
initialize_component()
click to toggle source
# File lib/releaf-content.rb, line 35 def self.initialize_component Rails.application.config.middleware.use Releaf::Content::RoutesReloader ActiveSupport.on_load :action_controller do ActionDispatch::Routing::Mapper.send(:include, Releaf::Content::NodeMapper) end end
resource_route_params(options)
click to toggle source
# File lib/releaf-content.rb, line 67 def self.resource_route_params options # Releaf::Content::NodesController -> releaf/content/nodes controller_path = options[:controller].constantize.controller_path controller_path_parts = controller_path.split('/') resources_name = controller_path_parts.last route_options = { # releaf/content/nodes -> releaf/content module: controller_path_parts.slice(0...-1).join('/'), # releaf/content/nodes -> releaf_content_nodes as: controller_path.gsub(/\//, '_'), except: [:show] } [ resources_name, route_options ] end