class Gordon::Factory

Public Class Methods

create_instance(namespace, object_type) click to toggle source
# File lib/gordon/factory.rb, line 3
def self.create_instance(namespace, object_type)
  fragments = object_type.to_s.split('_')

  type = fragments.map do |fragment|
    fragment[0].upcase + fragment[1..-1]
  end.join('')

  ns = "Gordon::#{namespace}::#{type}"

  klass = ns.split('::').inject(Object) do |obj, ns|
    obj.const_get(ns)
  end

  klass.new
end