stdlib/builtin/struct.rbs in rbs-0.11.0 vs stdlib/builtin/struct.rbs in rbs-0.12.0
- old
+ new
@@ -1,40 +1,39 @@
# A [Struct](Struct) is a convenient way to bundle a
# number of attributes together, using accessor methods, without having to
# write an explicit class.
-#
+#
# The [Struct](Struct) class generates new subclasses
# that hold a set of members and their values. For each member a reader
# and writer method is created similar to
# [Module\#attr\_accessor](https://ruby-doc.org/core-2.6.3/Module.html#method-i-attr_accessor)
# .
-#
+#
# ```ruby
# Customer = Struct.new(:name, :address) do
# def greeting
# "Hello #{name}!"
# end
# end
-#
+#
# dave = Customer.new("Dave", "123 Main")
# dave.name #=> "Dave"
# dave.greeting #=> "Hello Dave!"
# ```
-#
+#
# See [::new](Struct#method-c-new) for further
# examples of creating struct subclasses and instances.
-#
+#
# In the method descriptions that follow, a "member" parameter refers to a
# struct member which is either a quoted string ( `"name"` ) or a
# [Symbol](https://ruby-doc.org/core-2.6.3/Symbol.html) ( `:name` ).
class Struct[Elem] < Object
include Enumerable[Elem, Struct[Elem]]
- def initialize: (Symbol | String arg0, *Symbol | String arg1, ?keyword_init: bool keyword_init) -> void
+ type attribute_name = Symbol | String
- def each: () { (Elem arg0) -> untyped } -> untyped
- | () -> self
+ def initialize: (attribute_name, *attribute_name, ?keyword_init: bool) ?{ () -> void } -> void
- def self.members: () -> ::Array[Symbol]
+ def each: () { (Elem) -> untyped } -> untyped
- def new: (*untyped args) -> Struct[untyped]
+ def self.members: () -> ::Array[Symbol]
end