Sha256: de0afb53eba0ded5fa69c86869c82f9db5e5dc4e65f3054c505885c9e6af8978
Contents?: true
Size: 1.47 KB
Versions: 6
Compression:
Stored size: 1.47 KB
Contents
# typed: strict # frozen_string_literal: true module OpenFeature # Interface that providers must implement. module Provider extend T::Sig extend T::Helpers interface! sig { abstract.returns(ProviderMetadata) } def metadata; end sig { abstract.returns(T::Array[Hook]) } def hooks; end sig do abstract .params( flag_key: String, default_value: T::Boolean, context: T.nilable(EvaluationContext) ) .returns(ResolutionDetails[T::Boolean]) end def resolve_boolean_value(flag_key:, default_value:, context: nil); end sig do abstract .params( flag_key: String, default_value: String, context: T.nilable(EvaluationContext) ) .returns(ResolutionDetails[String]) end def resolve_string_value(flag_key:, default_value:, context: nil); end sig do abstract .params( flag_key: String, default_value: Numeric, context: T.nilable(EvaluationContext) ) .returns(ResolutionDetails[Numeric]) end def resolve_number_value(flag_key:, default_value:, context: nil); end sig do abstract .params( flag_key: String, default_value: Structure, context: T.nilable(EvaluationContext) ) .returns(ResolutionDetails[Structure]) end def resolve_structure_value(flag_key:, default_value:, context: nil); end end end
Version data entries
6 entries across 6 versions & 1 rubygems