module NamespacedMixin::ClassMethods

Public Instance Methods

namespace(name, as:) click to toggle source
# File lib/namespaced_mixin.rb, line 5
def namespace(name, as:)
  namespace = as.to_s

  namespaced_class = name.to_s.split('::').inject(Object) {|o,c| o.const_get c}
  cls = Class.new{
    include namespaced_class
  }.new

  define_method("#{namespace}") do
    cls
  end
end