lib/catissue/metadata.rb
def add_annotation(name, opts={})
      # the module symbol
      mod_sym = name.camelize.to_sym
      # the module spec defaults
      pkg = opts[:package] ||= name.underscore
      svc = opts[:service] ||= name.underscore
      grp = opts[:group] ||= pkg
      pxy_nm = opts[:proxy_name] || "#{self.name.demodulize}RecordEntry"
      self.annotation_proxy_class_name = pxy_nm
      # add the annotation entry
      @ann_spec_hash ||= {}
      @ann_spec_hash[mod_sym] = opts
      logger.info("Added #{qp} annotation #{name} with module #{mod_sym}, package #{pkg}, service #{svc} and group #{grp}.")
    end
def add_annotation(name, opts={})
      # the module symbol
      mod_sym = name.camelize.to_sym
      # the module spec defaults
      pkg = opts[:package] ||= name.underscore
      svc = opts[:service] ||= name.underscore
      grp = opts[:group] ||= pkg
      pxy_nm = opts[:proxy_name] || "#{self.name.demodulize}RecordEntry"
      self.annotation_proxy_class_name = pxy_nm
      # add the annotation entry
      @ann_spec_hash ||= {}
      @ann_spec_hash[mod_sym] = opts
      logger.info("Added #{qp} annotation #{name} with module #{mod_sym}, package #{pkg}, service #{svc} and group #{grp}.")
    end
def add_annotation ( name , opts = { } ) # the module symbol mod_sym = name . camelize . to_sym # the module spec defaults pkg = opts [ :package ] ||= name . underscore svc = opts [ :service ] ||= name . underscore grp = opts [ :group ] ||= pkg pxy_nm = opts [ :proxy_name ] || "#{self.name.demodulize}RecordEntry" self . annotation_proxy_class_name = pxy_nm # add the annotation entry @ann_spec_hash ||= { } @ann_spec_hash [ mod_sym ] = opts logger . info ( "Added #{qp} annotation #{name} with module #{mod_sym}, package #{pkg}, service #{svc} and group #{grp}." ) end
Declares an annotation scoped by this class.

 @param [String] name the name of the annotation module
 @param [{Symbol => Object}] opts the annotation options
 @option opts [String] :package the package name (default is the lower-case underscore name)
 @option opts [String] :service the service name (default is the lower-case underscore name)
 @option opts [String] :group the DE group short name (default is the package)
 @option opts [String] :proxy_name the DE proxy class name (default is the class name followed by +RecordEntry+)
Declares an annotation scoped by this class .