Module: A2A::SecurityScheme
- Defined in:
- lib/a2a/security_scheme.rb,
lib/a2a/security_scheme/oauth2.rb,
lib/a2a/security_scheme/api_key.rb,
lib/a2a/security_scheme/http_auth.rb,
lib/a2a/security_scheme/mutual_tls.rb,
lib/a2a/security_scheme/open_id_connect.rb
Defined Under Namespace
Classes: APIKey, HTTPAuth, MutualTLS, OAuth2, OpenIDConnect
Constant Summary collapse
- BUILDERS =
{ "apiKeySecurityScheme" => ->(v) { APIKey.from_h(v) }, "httpAuthSecurityScheme" => ->(v) { HTTPAuth.from_h(v) }, "oauth2SecurityScheme" => ->(v) { OAuth2.from_h(v) }, "openIdConnectSecurityScheme" => ->(v) { OpenIDConnect.from_h(v) }, "mtlsSecurityScheme" => ->(v) { MutualTLS.from_h(v) } }.freeze
Class Method Summary collapse
Class Method Details
.from_h(hash) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/a2a/security_scheme.rb', line 19 def self.from_h(hash) key, builder = BUILDERS.find { |k, _| hash.key?(k) } raise ArgumentError, "unknown SecurityScheme: #{hash.keys.inspect}" unless key builder.call(hash[key]) end |