Skip to content

Commit 9870871

Browse files
bellebaumanakinj
authored andcommitted
JWKS: Use Forwardable
1 parent 3c6318f commit 9870871

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

lib/jwt/jwk/set.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# frozen_string_literal: true
2+
require 'forwardable'
23

34
module JWT
45
module JWK
56
class Set
67
include Enumerable
8+
extend Forwardable
79

810
attr_reader :keys
911

@@ -29,9 +31,7 @@ def export(options = {})
2931
{ keys: @keys.map { |k| k.export(options) } }
3032
end
3133

32-
def each(&block)
33-
@keys.each(&block)
34-
end
34+
def_delegators :@keys, :each, :size, :delete, :dig
3535

3636
def select!(&block)
3737
return @keys.select! unless block
@@ -45,14 +45,12 @@ def reject!(&block)
4545
self if @keys.reject!(&block)
4646
end
4747

48-
alias filter! select!
48+
def uniq!(&block)
49+
return @keys.uniq! unless block
4950

50-
def size
51-
@keys.size
51+
self if @keys.uniq!(&block)
5252
end
5353

54-
alias length size
55-
5654
def merge(enum)
5755
@keys += JWT::JWK::Set.new(enum.collect)
5856
self
@@ -71,6 +69,8 @@ def ==(other)
7169
other.is_a?(JWT::JWK::Set) && keys.sort == other.keys.sort
7270
end
7371

72+
alias filter! select!
73+
alias length size
7474
# For symbolic manipulation
7575
alias | union
7676
alias + union

0 commit comments

Comments
 (0)