Skip to content

Commit 753524d

Browse files
Add signatures for some Enumerable Active Support extensions
1 parent dcd9266 commit 753524d

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

rbi/annotations/activesupport.rbi

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ class Hash
8383

8484
sig { returns(T::Boolean) }
8585
def extractable_options?; end
86+
87+
# @version >= 6.1.0
88+
sig { returns(T::Hash[K, V]) }
89+
def compact_blank; end
8690
end
8791

8892
class Array
@@ -211,6 +215,38 @@ class DateTime
211215
end
212216

213217
module Enumerable
218+
sig do
219+
type_parameters(:Block)
220+
.params(block: T.proc.params(arg0: Elem).returns(T.type_parameter(:Block)))
221+
.returns(T::Hash[T.type_parameter(:Block), Elem])
222+
end
223+
sig { returns(T::Enumerable[T.untyped]) }
224+
def index_by(&block); end
225+
226+
sig do
227+
type_parameters(:Block)
228+
.params(block: T.proc.params(arg0: Elem).returns(T.type_parameter(:Block)))
229+
.returns(T::Hash[Elem, T.type_parameter(:Block)])
230+
end
231+
sig { returns(T::Enumerable[T.untyped]) }
232+
sig do
233+
type_parameters(:Default)
234+
.params(default: T.type_parameter(:Default))
235+
.returns(T::Hash[Elem, T.type_parameter(:Default)])
236+
end
237+
def index_with(default = nil, &block); end
238+
239+
sig { params(block: T.proc.params(arg0: Elem).returns(BasicObject)).returns(T::Boolean) }
240+
sig { returns(T::Boolean) }
241+
def many?(&block); end
242+
243+
sig { params(arg0: Elem).returns(T::Boolean) }
244+
def exclude?(object); end
245+
246+
# @version >= 6.1.0
247+
sig { returns(T::Array[Elem]) }
248+
def compact_blank; end
249+
214250
# @version >= 7.0.0
215251
sig { returns(Elem) }
216252
def sole; end

0 commit comments

Comments
 (0)