Class: ForestLiana::ControllerFactory

Inherits:
Object
  • Object
show all
Defined in:
app/services/forest_liana/controller_factory.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.define_controller(active_record_class, service) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'app/services/forest_liana/controller_factory.rb', line 4

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

.get_controller_name(active_record_class) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'app/services/forest_liana/controller_factory.rb', line 14

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

Instance Method Details

#controller_for(active_record_class) ⇒ Object



24
25
26
27
28
29
30
# File 'app/services/forest_liana/controller_factory.rb', line 24

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

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