Class: Linkable

Inherits:
Object
  • Object
show all
Defined in:
app/models/linkable.rb

Constant Summary collapse

AJAX_COMBOBOX_MIN =
100

Class Method Summary collapse

Class Method Details

.get(class_name) ⇒ Object



19
20
21
22
23
24
25
# File 'app/models/linkable.rb', line 19

def get(class_name)
  @_linkables_flyweight ||= {}
  underscored_name = class_name.is_a?(Class) ? class_name.name.underscore : class_name.to_s.underscore.singularize
  if linkables.include?(underscored_name)
    @_linkables_flyweight[underscored_name] || (@_linkables_flyweight[underscored_name] = class_name.is_a?(Class) ? class_name : "#{class_name}".camelize.constantize)
  end
end

.linkable_class_namesObject



13
14
15
16
17
# File 'app/models/linkable.rb', line 13

def linkable_class_names
  @linkable_class_names ||= linkables.map {|l|
    l.is_a?(Class) ? l.name : l.to_s.camelize  
  }
end

.linkablesObject



7
8
9
10
11
# File 'app/models/linkable.rb', line 7

def linkables
  @linkables ||= Fullstack::Cms.config.linkables.map {|class_name|
    class_name.is_a?(Class) ? class_name.name.underscore : class_name.to_s.underscore.singularize
  }
end