Sha256: aacb18294abe0b126dddf452a1895359c7f84aec890a8aacacc7b5d25943300b
Contents?: true
Size: 554 Bytes
Versions: 4
Compression:
Stored size: 554 Bytes
Contents
# typed: strict module DataModel class Fixtures::Example extend T::Sig sig { params(schema: TSchema, variants: T::Hash[::Symbol, Object]).void } def initialize(schema, variants:) @schema = schema @variants = variants end sig { returns(Model) } def model DataModel.define(@schema) end sig { params(type: Symbol).returns([Model, Object]) } def [](type) if !@variants.key?(type) raise "#{type} is not a defined variant: #{@variants}" end result = @variants.fetch(type) return [model, result] end end end
Version data entries
4 entries across 4 versions & 1 rubygems