Sha256: 6558466734e6091ca3d36891e7c442b43086c4ea902b50b0d98ad06810d85555

Contents?: true

Size: 569 Bytes

Versions: 8

Compression:

Stored size: 569 Bytes

Contents

module PubliSci
  module Registry
    def register(name,object)
      # puts "register #{name} #{object} #{associations.size}"
      name = name.to_sym if name
      if symbol_for(object)
        sub = symbol_for(object)
      else
        sub = object.class.to_s.split('::').last.downcase.to_sym
      end
      if name
        (registry[sub] ||= {})[name] = object
      else
        (registry[sub] ||= []) << object
      end
    end

    def registry
      @registry ||= {}
    end

    #should be overridden
    def symbol_for(object)
      false
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
publisci-0.1.6 lib/publisci/mixins/registry.rb
publisci-0.1.5 lib/publisci/mixins/registry.rb
publisci-0.1.4 lib/publisci/mixins/registry.rb
publisci-0.1.3 lib/publisci/mixins/registry.rb
publisci-0.1.2 lib/bio-publisci/mixins/registry.rb
bio-publisci-0.1.0 lib/bio-publisci/mixins/registry.rb
bio-publisci-0.0.8 lib/bio-publisci/mixins/registry.rb
bio-publisci-0.0.7 lib/bio-publisci/mixins/registry.rb