Sha256: 9fb08412b017d5ec70c7a11dd3e59877a2b3254f640bb963f9751999f588c070

Contents?: true

Size: 862 Bytes

Versions: 78

Compression:

Stored size: 862 Bytes

Contents

class Linkable
  
  AJAX_COMBOBOX_MIN = 100
  
  class << self
    
    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
    
    def linkable_class_names
      @linkable_class_names ||= linkables.map {|l|
        l.is_a?(Class) ? l.name : l.to_s.camelize  
      }
    end
  
    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
    
  end
end



Version data entries

78 entries across 78 versions & 1 rubygems

Version Path
fullstack-cms-0.4.6 app/models/linkable.rb
fullstack-cms-0.4.5 app/models/linkable.rb
fullstack-cms-0.4.4 app/models/linkable.rb
fullstack-cms-0.3.8.fix app/models/linkable.rb
fullstack-cms-0.2.32.fix app/models/linkable.rb
fullstack-cms-0.4.3 app/models/linkable.rb
fullstack-cms-0.4.2 app/models/linkable.rb
fullstack-cms-0.4.1 app/models/linkable.rb
fullstack-cms-0.3.39 app/models/linkable.rb
fullstack-cms-0.3.38 app/models/linkable.rb
fullstack-cms-0.3.37 app/models/linkable.rb
fullstack-cms-0.3.36 app/models/linkable.rb
fullstack-cms-0.3.35 app/models/linkable.rb
fullstack-cms-0.3.34 app/models/linkable.rb
fullstack-cms-0.3.33 app/models/linkable.rb
fullstack-cms-0.3.32 app/models/linkable.rb
fullstack-cms-0.3.31 app/models/linkable.rb
fullstack-cms-0.3.30 app/models/linkable.rb
fullstack-cms-0.3.29 app/models/linkable.rb
fullstack-cms-0.3.28 app/models/linkable.rb