class Stargate::Server::Registry

Internal: Registry contains list of versions, each with defined served classes.

Example:

Stargate::Server::Registry.new do
  version 1 do
    serve MyClass do
      class_methods :foo, :bar
      attributes :foo, :bar, :baz
    end
  end
end

Attributes

versions[R]

Public: List of registry versions.

Public Class Methods

new(&block) click to toggle source

Public: Constructor.

# File lib/stargate/server/registry.rb, line 23
def initialize(&block)
  @versions = {}
  instance_eval(&block) if block_given?
end

Public Instance Methods

[](version) click to toggle source

Public: Returns given registry version.

# File lib/stargate/server/registry.rb, line 34
def [](version)
  versions[version] or raise RegistryVersionUndefinedError, "No such registry version: #{version}"
end
each(&block) click to toggle source
# File lib/stargate/server/registry.rb, line 38
def each(&block)
  versions.each(&block)
end
version(number, &block) click to toggle source

Public: Defines new version. Executes with internal DSL.

# File lib/stargate/server/registry.rb, line 29
def version(number, &block)
  @versions[number] ||= RegistryVersion.new(number, &block)
end