module ZooniverseData

Constants

VERSION

Attributes

projects[RW]

Public Class Methods

dispatch(manifest: nil, entry: nil) click to toggle source
# File lib/zooniverse_data.rb, line 9
def self.dispatch(manifest: nil, entry: nil)
  klass = self.projects[manifest.project_id]
  
  unless klass
    klass_name = manifest.project.name.classify
    klass = if ZooniverseData::Projects.const_defined?(klass_name)
      "ZooniverseData::Projects::#{ klass_name }".constantize
    else
      ZooniverseData::Projects::Default
    end
    
    self.projects[manifest.project_id] = klass
  end
  
  klass.new.customize manifest: manifest, entry: entry
end