Module: LcpRuby::ApiTokens::ResolverRegistry
- Defined in:
- lib/lcp_ruby/api_tokens/resolver_registry.rb
Defined Under Namespace
Classes: Resolver
Class Method Summary collapse
- .clear! ⇒ Object
- .matched?(token_string) ⇒ Boolean
- .register(name, priority:, matcher:, resolver:) ⇒ Object
- .registered?(name) ⇒ Boolean
- .resolve(token_string) ⇒ Object
- .size ⇒ Object
Class Method Details
.clear! ⇒ Object
42 43 44 45 |
# File 'lib/lcp_ruby/api_tokens/resolver_registry.rb', line 42 def self.clear! @resolvers = {} @sorted = nil end |
.matched?(token_string) ⇒ Boolean
29 30 31 32 |
# File 'lib/lcp_ruby/api_tokens/resolver_registry.rb', line 29 def self.matched?(token_string) return false if token_string.nil? || token_string.empty? sorted_resolvers.any? { |r| r.matcher.call(token_string) } end |
.register(name, priority:, matcher:, resolver:) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/lcp_ruby/api_tokens/resolver_registry.rb', line 9 def self.register(name, priority:, matcher:, resolver:) @resolvers[name.to_sym] = Resolver.new( name: name.to_sym, priority: priority, matcher: matcher, resolver: resolver ) @sorted = nil end |
.registered?(name) ⇒ Boolean
34 35 36 |
# File 'lib/lcp_ruby/api_tokens/resolver_registry.rb', line 34 def self.registered?(name) @resolvers.key?(name.to_sym) end |
.resolve(token_string) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/lcp_ruby/api_tokens/resolver_registry.rb', line 19 def self.resolve(token_string) return nil if token_string.nil? || token_string.empty? sorted_resolvers.each do |r| next unless r.matcher.call(token_string) return r.resolver.call(token_string) end nil end |
.size ⇒ Object
38 39 40 |
# File 'lib/lcp_ruby/api_tokens/resolver_registry.rb', line 38 def self.size @resolvers.size end |