class ActiveRecord::Type::AdapterSpecificRegistry
Experimental RBS support (using type sampling data from the type_fusion
project).
# sig/active_record/type/adapter_specific_registry.rbs class ActiveRecord::Type::AdapterSpecificRegistry def register: (Symbol type_name, ?Class klass, **Hash options, ) -> untyped end
:nodoc:
def add_modifier(options, klass, **args)
def add_modifier(options, klass, **args) registrations << DecorationRegistration.new(options, klass, **args) end
def find_registration(symbol, *args, **kwargs)
def find_registration(symbol, *args, **kwargs) registrations .select { |registration| registration.matches?(symbol, *args, **kwargs) } .max end
def initialize
def initialize @registrations = [] end
def initialize_copy(other)
def initialize_copy(other) @registrations = @registrations.dup super end
def lookup(symbol, *args, **kwargs)
def lookup(symbol, *args, **kwargs) registration = find_registration(symbol, *args, **kwargs) if registration registration.call(self, symbol, *args, **kwargs) else raise ArgumentError, "Unknown type #{symbol.inspect}" end end
def register(type_name, klass = nil, **options, &block)
Experimental RBS support (using type sampling data from the type_fusion
project).
def register: (Symbol type_name, ?Class klass, **override | FalseClass options, ) -> untyped
This signature was generated using 1 sample from 1 application.
def register(type_name, klass = nil, **options, &block) unless block_given? block = proc { |_, *args| klass.new(*args) } block.ruby2_keywords if block.respond_to?(:ruby2_keywords) end registrations << Registration.new(type_name, block, **options) end