class Type::Definition::Proxy

@api private The Proxy is an in-progress definition, a convenience object to support the declaration syntax.

Public Class Methods

new(name, klass) click to toggle source
# File lib/type/definition/proxy.rb, line 9
def initialize(name, klass)
  @name = name
  @klass = klass
end

Public Instance Methods

from(parent, &config) click to toggle source

@see Type::Definition::generate() for usage

# File lib/type/definition/proxy.rb, line 15
def from(parent, &config)
  raise ArgumentError, 'Block Required!' unless block_given?

  Type[parent].tap do |resolved_parent|
    raise ArgumentError unless resolved_parent.kind_of?(@klass)
  end.refine(@name, &config)
end