lib/catissue/metadata.rb
def create_proxy_attribute(mod, proxy)
      # the proxy attribute symbol
      pa = mod.name.demodulize.underscore.to_sym
      # Define the proxy attribute.
      attr_create_on_demand_accessor(pa) { Set.new }
      # Register the attribute.
      add_attribute(pa, proxy, :collection, :saved, :nosync)
      # the annotation module => proxy attribute association
      @ann_mod_pxy_hash ||= {}
      @ann_mod_pxy_hash[mod] = pa
      # The proxy is a logical dependent.
      add_dependent_attribute(pa, :logical)
      logger.debug { "Created #{qp} #{mod.qp} annotation proxy logical dependent reference attribute #{pa} to #{proxy}." }
      pa
    end
def create_proxy_attribute(mod, proxy)
      # the proxy attribute symbol
      pa = mod.name.demodulize.underscore.to_sym
      # Define the proxy attribute.
      attr_create_on_demand_accessor(pa) { Set.new }
      # Register the attribute.
      add_attribute(pa, proxy, :collection, :saved, :nosync)
      # the annotation module => proxy attribute association
      @ann_mod_pxy_hash ||= {}
      @ann_mod_pxy_hash[mod] = pa
      # The proxy is a logical dependent.
      add_dependent_attribute(pa, :logical)
      logger.debug { "Created #{qp} #{mod.qp} annotation proxy logical dependent reference attribute #{pa} to #{proxy}." }
      pa
    end
def create_proxy_attribute ( mod , proxy ) # the proxy attribute symbol pa = mod . name . demodulize . underscore . to_sym # Define the proxy attribute. attr_create_on_demand_accessor ( pa ) { Set . new } # Register the attribute. add_attribute ( pa , proxy , :collection , :saved , :nosync ) # the annotation module => proxy attribute association @ann_mod_pxy_hash ||= { } @ann_mod_pxy_hash [ mod ] = pa # The proxy is a logical dependent. add_dependent_attribute ( pa , :logical ) logger . debug { "Created #{qp} #{mod.qp} annotation proxy logical dependent reference attribute #{pa} to #{proxy}." } pa end
Makes an attribute whose name is the demodulized underscored given module name.
 The attribute reader creates an {Annotation::Proxy} instance of the method
 receiver {Annotatable} instance on demand.

 @param [AnnotationModule] mod the subject annotation
 @return [ProxyClass] proxy the proxy class
Makes an attribute whose name is the demodulized underscored given module name . The attribute reader creates an { Annotation :: Proxy } instance of the method receiver { Annotatable } instance on demand .