Sha256: 7c89cae406fa8c877954b44df49541107313291f8bce4aae8827113ffb9dff38
Contents?: true
Size: 1.15 KB
Versions: 274
Compression:
Stored size: 1.15 KB
Contents
module ForestLiana class ControllerFactory def self.define_controller(active_record_class, service) controller_name = self.build_controller_name(active_record_class) controller_name_with_namespace = self.controller_name_with_namespace(controller_name) unless ForestLiana::UserSpace.const_defined?(controller_name_with_namespace) ForestLiana::UserSpace.const_set(controller_name, service) end end def self.get_controller_name(active_record_class) controller_name = self.build_controller_name(active_record_class) self.controller_name_with_namespace(controller_name) end def controller_for(active_record_class) controller = Class.new(ForestLiana::ResourcesController) { } ForestLiana::ControllerFactory.define_controller(active_record_class, controller) controller end private def self.controller_name_with_namespace(controller_name) "ForestLiana::UserSpace::#{controller_name}" end def self.build_controller_name(active_record_class) component_prefix = ForestLiana.component_prefix(active_record_class) "#{component_prefix}Controller" end end end
Version data entries
274 entries across 274 versions & 1 rubygems