OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/lib/instance_finder.rb

26 lines
626 B

#-- copyright
# OpenProject is a project management system.
#
# Copyright (C) 2012-2013 the OpenProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# See doc/COPYRIGHT.rdoc for more details.
#++
class InstanceFinder
def self.register(model, method)
@model_method_map ||= {}
@model_method_map[model] = method
end
def self.find(model, identifier)
if @model_method_map[model].nil?
raise "#{model} is not registerd with InstanceFinder"
end
@model_method_map[model].call(identifier)
end
end