Sha256: 19b826e93a9c1baafec78a21fe60197f4b7d8b243f0dc4ae59914db2ab9501f9

Contents?: true

Size: 961 Bytes

Versions: 33

Compression:

Stored size: 961 Bytes

Contents

module ForestLiana
  class ControllerFactory

    def self.define_controller(active_record_class, service)
      class_name = ForestLiana.name_for(active_record_class).classify
      module_name = class_name.deconstantize

      name = module_name if module_name
      name += class_name.demodulize

      ForestLiana::UserSpace.const_set("#{name}Controller", service)
    end

    def self.get_controller_name(active_record_class)
      class_name = ForestLiana.name_for(active_record_class).classify
      module_name = class_name.deconstantize

      name = module_name if module_name
      name += class_name.demodulize

      "ForestLiana::UserSpace::#{name}Controller"
    end

    def controller_for(active_record_class)
      controller = Class.new(ResourcesController) { }

      ForestLiana::ControllerFactory.define_controller(active_record_class,
                                                       controller)
      controller
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
forest_liana-2.0.0 app/services/forest_liana/controller_factory.rb
forest_liana-1.9.8 app/services/forest_liana/controller_factory.rb
forest_liana-1.9.7 app/services/forest_liana/controller_factory.rb
forest_liana-1.9.6 app/services/forest_liana/controller_factory.rb
forest_liana-1.9.5 app/services/forest_liana/controller_factory.rb
forest_liana-1.9.4 app/services/forest_liana/controller_factory.rb
forest_liana-1.9.3 app/services/forest_liana/controller_factory.rb
forest_liana-1.9.2 app/services/forest_liana/controller_factory.rb
forest_liana-1.9.1 app/services/forest_liana/controller_factory.rb
forest_liana-1.9.0 app/services/forest_liana/controller_factory.rb
forest_liana-1.8.1 app/services/forest_liana/controller_factory.rb
forest_liana-1.8.0 app/services/forest_liana/controller_factory.rb
forest_liana-1.7.10 app/services/forest_liana/controller_factory.rb
forest_liana-1.7.9 app/services/forest_liana/controller_factory.rb
forest_liana-1.7.8 app/services/forest_liana/controller_factory.rb
forest_liana-1.7.7 app/services/forest_liana/controller_factory.rb
forest_liana-1.7.6 app/services/forest_liana/controller_factory.rb
forest_liana-1.7.5 app/services/forest_liana/controller_factory.rb
forest_liana-1.7.4 app/services/forest_liana/controller_factory.rb
forest_liana-1.7.3 app/services/forest_liana/controller_factory.rb