Module: ReadabilityImporter::Loader

Defined in:
lib/readability_importer/loader.rb

Defined Under Namespace

Classes: Base, InstapaperCsvLoader, UrlsLoader

Class Method Summary collapse

Class Method Details

.loadersObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/readability_importer/loader.rb', line 5

def self.loaders
  @loaders ||= constants.inject({}) do |loaders, klass_name|
    if /Loader$/ === klass_name
      klass = const_get(klass_name)
      name = klass_name.to_s.tap do |s|
        s.gsub!(/Loader$/, '')
        s.gsub!(/([A-Z+])([A-Z][a-z])/, '\1_\2')
        s.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
        s.tr!("-", "_")
        s.downcase!
      end.to_sym
      loaders[name] = klass
    end
    loaders
  end
end