lib/catissue/metadata.rb
def import_annotation(name, opts)
      logger.debug { "Importing #{qp} annotation #{name}..." }
      # Make the annotation module class scoped by this Annotatable class.
      class_eval("module #{name}; end")
      mod = const_get(name)
      # Append the AnnotationModule methods.
      mod.extend(Annotation::Importer)
      # Build the annnotation module.
      mod.initialize_annotation(self, opts) { |pxy| create_proxy_attribute(mod, pxy) }
      mod
    end
def import_annotation(name, opts)
      logger.debug { "Importing #{qp} annotation #{name}..." }
      # Make the annotation module class scoped by this Annotatable class.
      class_eval("module #{name}; end")
      mod = const_get(name)
      # Append the AnnotationModule methods.
      mod.extend(Annotation::Importer)
      # Build the annnotation module.
      mod.initialize_annotation(self, opts) { |pxy| create_proxy_attribute(mod, pxy) }
      mod
    end
Builds a new annotation module for the given module name and options.

 @param [String] name the attribute module name
 @param opts (see #add_annotation)
 @return [Module] the annotation module
 @raise [AnnotationError] if there is no annotation proxy class