Sha256: ed115567d3b4481a5b94d68bb625a14308dc46422cf8e309de3de8b0855027a4
Contents?: true
Size: 1013 Bytes
Versions: 1
Compression:
Stored size: 1013 Bytes
Contents
module Wool module SexpAnalysis # The ProtocolRegistry module handles negotiating instantiated protocols at # compile-time, such as the automatically-generated protocols created by a # class creation (as each class has a corresponding protocol, though some # distinct classes may have equivalent protocols). module ProtocolRegistry extend ModuleExtensions cattr_accessor_with_default :protocols, [] cattr_accessor_with_default :class_protocols, {} def self.add_protocol(proto) self.protocols << proto end def self.add_class_protocol(class_protocol) add_protocol class_protocol self.class_protocols[class_protocol.class_used.path] = class_protocol end def self.[](class_name) return query(:class_path => class_name.gsub(/^::/, '')) end def self.query(query={}) if query[:class_path] return [self.class_protocols[query[:class_path]]] end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wool-0.5.1 | lib/wool/analysis/protocol_registry.rb |