clean-architecture 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +52 -0
  3. data/.ruby-version +1 -1
  4. data/CHANGELOG.md +4 -0
  5. data/Gemfile +0 -2
  6. data/clean-architecture.gemspec +3 -3
  7. data/lib/clean_architecture/queries/http_failure_code.rb +2 -1
  8. data/lib/clean_architecture/version.rb +1 -1
  9. data/sorbet/rbi/gems/activemodel.rbi +2 -1
  10. data/sorbet/rbi/gems/activesupport.rbi +3 -3
  11. data/sorbet/rbi/gems/ast.rbi +1 -0
  12. data/sorbet/rbi/gems/byebug.rbi +3 -2
  13. data/sorbet/rbi/gems/coderay.rbi +1 -0
  14. data/sorbet/rbi/gems/concurrent-ruby.rbi +22 -23
  15. data/sorbet/rbi/gems/docile.rbi +1 -0
  16. data/sorbet/rbi/gems/dry-configurable.rbi +107 -57
  17. data/sorbet/rbi/gems/dry-container.rbi +1 -0
  18. data/sorbet/rbi/gems/dry-core.rbi +1 -0
  19. data/sorbet/rbi/gems/dry-equalizer.rbi +5 -4
  20. data/sorbet/rbi/gems/dry-inflector.rbi +1 -0
  21. data/sorbet/rbi/gems/dry-initializer.rbi +4 -4
  22. data/sorbet/rbi/gems/dry-logic.rbi +12 -11
  23. data/sorbet/rbi/gems/dry-matcher.rbi +2 -1
  24. data/sorbet/rbi/gems/dry-monads.rbi +8 -6
  25. data/sorbet/rbi/gems/dry-schema.rbi +92 -96
  26. data/sorbet/rbi/gems/dry-struct.rbi +32 -60
  27. data/sorbet/rbi/gems/dry-types.rbi +76 -55
  28. data/sorbet/rbi/gems/dry-validation.rbi +34 -30
  29. data/sorbet/rbi/gems/duckface-interfaces.rbi +1 -0
  30. data/sorbet/rbi/gems/i18n.rbi +2 -1
  31. data/sorbet/rbi/gems/jaro_winkler.rbi +2 -1
  32. data/sorbet/rbi/gems/method_source.rbi +1 -0
  33. data/sorbet/rbi/gems/parallel.rbi +2 -1
  34. data/sorbet/rbi/gems/parser.rbi +80 -452
  35. data/sorbet/rbi/gems/pry-byebug.rbi +10 -4
  36. data/sorbet/rbi/gems/pry.rbi +1 -0
  37. data/sorbet/rbi/gems/rainbow.rbi +1 -0
  38. data/sorbet/rbi/gems/rake.rbi +77 -67
  39. data/sorbet/rbi/gems/rb-readline.rbi +1 -0
  40. data/sorbet/rbi/gems/rexml.rbi +589 -0
  41. data/sorbet/rbi/gems/rspec-core.rbi +14 -1
  42. data/sorbet/rbi/gems/rspec-expectations.rbi +2 -34
  43. data/sorbet/rbi/gems/rspec-mocks.rbi +133 -1
  44. data/sorbet/rbi/gems/rspec-support.rbi +4 -1
  45. data/sorbet/rbi/gems/rspec.rbi +1 -0
  46. data/sorbet/rbi/gems/rubocop-rspec.rbi +51 -4
  47. data/sorbet/rbi/gems/rubocop.rbi +746 -442
  48. data/sorbet/rbi/gems/ruby-progressbar.rbi +1 -0
  49. data/sorbet/rbi/gems/simplecov-html.rbi +6 -1
  50. data/sorbet/rbi/gems/simplecov.rbi +144 -17
  51. data/sorbet/rbi/gems/stackprof.rbi +2 -1
  52. data/sorbet/rbi/gems/unicode-display_width.rbi +2 -1
  53. data/sorbet/rbi/hidden-definitions/errors.txt +2040 -890
  54. data/sorbet/rbi/hidden-definitions/hidden.rbi +1431 -2092
  55. data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +325 -295
  56. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +357 -3
  57. data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +9 -0
  58. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +37 -15
  59. data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +8 -8
  60. data/sorbet/rbi/todo.rbi +1 -4
  61. metadata +11 -23
  62. data/.github/workflows/rspec.yml +0 -21
  63. data/sorbet/rbi/gems/axiom-types.rbi +0 -159
  64. data/sorbet/rbi/gems/codeclimate-engine-rb.rbi +0 -123
  65. data/sorbet/rbi/gems/coercible.rbi +0 -156
  66. data/sorbet/rbi/gems/descendants_tracker.rbi +0 -17
  67. data/sorbet/rbi/gems/equalizer.rbi +0 -22
  68. data/sorbet/rbi/gems/ice_nine.rbi +0 -66
  69. data/sorbet/rbi/gems/kwalify.rbi +0 -339
  70. data/sorbet/rbi/gems/psych.rbi +0 -462
  71. data/sorbet/rbi/gems/reek.rbi +0 -1066
  72. data/sorbet/rbi/gems/thread_safe.rbi +0 -81
  73. data/sorbet/rbi/gems/timecop.rbi +0 -97
  74. data/sorbet/rbi/gems/virtus.rbi +0 -421
@@ -160,7 +160,8 @@ class String
160
160
  sig { params(capitalize: T::Boolean, keep_id_suffix: T::Boolean).returns(String) }
161
161
  def humanize(capitalize: true, keep_id_suffix: false); end
162
162
 
163
- sig { params(zone: String).returns(T.any(Time, ActiveSupport::TimeWithZone)) }
163
+ # returns Time in the case zone is passed nil and ActiveSupport::TimeWithZone otherwise
164
+ sig { params(zone: T.nilable(T.any(String, ActiveSupport::TimeZone))).returns(T.any(ActiveSupport::TimeWithZone, Time)) }
164
165
  def in_time_zone(zone = ::Time.zone); end
165
166
 
166
167
  sig { params(amount: Integer, indent_string: T.nilable(String), indent_empty_lines: T::Boolean).returns(T.nilable(String)) }
@@ -196,7 +197,7 @@ class String
196
197
  sig { returns(T.untyped) }
197
198
  def safe_constantize; end
198
199
 
199
- sig { params(locale: Symbol).returns(T.nilable(String)) }
200
+ sig { params(locale: Symbol).returns(String) }
200
201
  def singularize(locale = :en); end
201
202
 
202
203
  sig { returns(T.untyped) }
@@ -544,6 +545,29 @@ class ActiveSupport::TimeWithZone
544
545
 
545
546
  sig { returns(ActiveSupport::TimeWithZone) }
546
547
  def at_middle_of_day; end
548
+
549
+ sig { returns(ActiveSupport::TimeWithZone) }
550
+ def end_of_day; end
551
+
552
+ sig { returns(ActiveSupport::TimeWithZone) }
553
+ def at_end_of_day; end
554
+ end
555
+
556
+ # defines some of the methods at https://github.com/rails/rails/blob/v6.0.0/activesupport/lib/active_support/core_ext/date
557
+ # this is not a complete definition!
558
+ class Date
559
+ sig { params(options: T::Hash[Symbol, Integer]).returns(Date) }
560
+ def advance(options); end
561
+
562
+ # these are the sigs for Date- in the stdlib
563
+ # https://github.com/sorbet/sorbet/blob/3910f6cfd9935c9b42e2135e32e15ab8a6e5b9be/rbi/stdlib/date.rbi#L373
564
+ # note that if more sigs are added to sorbet you should replicate them here
565
+ # check sorbet master: https://github.com/sorbet/sorbet/blob/master/rbi/stdlib/date.rbi
566
+ sig {params(arg0: Numeric).returns(T.self_type)}
567
+ sig {params(arg0: Date).returns(Rational)}
568
+ # these sigs are added for activesupport users
569
+ sig {params(arg0: ActiveSupport::Duration).returns(T.self_type)}
570
+ def -(arg0); end
547
571
  end
548
572
 
549
573
  # defines some of the methods at https://github.com/rails/rails/blob/v6.0.0/activesupport/lib/active_support/core_ext/time
@@ -555,6 +579,9 @@ class Time
555
579
  sig { returns(Time) }
556
580
  def beginning_of_day; end
557
581
 
582
+ sig { params(options: T::Hash[Symbol, Integer]).returns(Time) }
583
+ def advance(options); end
584
+
558
585
  sig { returns(Time) }
559
586
  def at_midnight; end
560
587
 
@@ -580,8 +607,29 @@ class Time
580
607
  def at_middle_of_day; end
581
608
 
582
609
  # https://github.com/rails/rails/blob/v6.0.0/activesupport/lib/active_support/core_ext/date_and_time/zones.rb
583
- sig { params(zone: String).returns(T.any(Time, ActiveSupport::TimeWithZone)) }
610
+ # returns Time in the case zone is passed nil and ActiveSupport::TimeWithZone otherwise
611
+ sig { params(zone: T.nilable(T.any(String, ActiveSupport::TimeZone))).returns(T.any(ActiveSupport::TimeWithZone, Time)) }
584
612
  def in_time_zone(zone = ::Time.zone); end
613
+
614
+ # these are the sigs for Time- in the stdlib
615
+ # https://github.com/sorbet/sorbet/blob/c3691753e4ce545e1eb66cbd3e55de67d8879b98/rbi/core/time.rbi#L347
616
+ # note that if more sigs are added to sorbet you should replicate them here
617
+ # check sorbet master: https://github.com/sorbet/sorbet/blob/master/rbi/core/time.rbi#L347
618
+ sig do
619
+ params(
620
+ arg0: Time,
621
+ )
622
+ .returns(Float)
623
+ end
624
+ sig do
625
+ params(
626
+ arg0: Numeric,
627
+ )
628
+ .returns(Time)
629
+ end
630
+ # these sigs are added for activesupport users
631
+ sig {params(arg0: ActiveSupport::Duration).returns(Time)}
632
+ def -(arg0); end
585
633
  end
586
634
 
587
635
  # defines some of the methods at https://github.com/rails/rails/tree/v6.0.0/activesupport/lib/active_support/core_ext/hash
@@ -623,3 +671,309 @@ class Hash
623
671
  sig { returns(T::Hash[Symbol, T.untyped]) }
624
672
  def to_options; end
625
673
  end
674
+
675
+ class Integer
676
+ # Returns a Duration instance matching the number of months provided.
677
+ #
678
+ # ```ruby
679
+ # 2.months # => 2 months
680
+ # ```
681
+ sig { returns(ActiveSupport::Duration) }
682
+ def months; end
683
+
684
+ sig { returns(ActiveSupport::Duration) }
685
+ def month; end
686
+
687
+ # Returns a Duration instance matching the number of years provided.
688
+ #
689
+ # ```ruby
690
+ # 2.years # => 2 years
691
+ # ```
692
+ sig { returns(ActiveSupport::Duration) }
693
+ def years; end
694
+
695
+ sig { returns(ActiveSupport::Duration) }
696
+ def year; end
697
+ end
698
+
699
+ class Numeric
700
+ sig { returns(ActiveSupport::Duration) }
701
+ def second; end
702
+
703
+ sig { returns(ActiveSupport::Duration) }
704
+ def seconds; end
705
+
706
+ sig { returns(ActiveSupport::Duration) }
707
+ def minute; end
708
+
709
+ sig { returns(ActiveSupport::Duration) }
710
+ def minutes; end
711
+
712
+ sig { returns(ActiveSupport::Duration) }
713
+ def hour; end
714
+
715
+ sig { returns(ActiveSupport::Duration) }
716
+ def hours; end
717
+
718
+ sig { returns(ActiveSupport::Duration) }
719
+ def day; end
720
+
721
+ sig { returns(ActiveSupport::Duration) }
722
+ def days; end
723
+
724
+ sig { returns(ActiveSupport::Duration) }
725
+ def week; end
726
+
727
+ sig { returns(ActiveSupport::Duration) }
728
+ def weeks; end
729
+
730
+ sig { returns(ActiveSupport::Duration) }
731
+ def fortnight; end
732
+
733
+ sig { returns(ActiveSupport::Duration) }
734
+ def fortnights; end
735
+
736
+ sig { returns(T.self_type) }
737
+ def in_milliseconds; end
738
+
739
+ KILOBYTE = T.let(1024, Integer)
740
+ MEGABYTE = T.let(KILOBYTE * 1024, Integer)
741
+ GIGABYTE = T.let(MEGABYTE * 1024, Integer)
742
+ TERABYTE = T.let(GIGABYTE * 1024, Integer)
743
+ PETABYTE = T.let(TERABYTE * 1024, Integer)
744
+ EXABYTE = T.let(PETABYTE * 1024, Integer)
745
+
746
+ # Enables the use of byte calculations and declarations, like 45.bytes + 2.6.megabytes
747
+ #
748
+ # ```ruby
749
+ # 2.bytes # => 2
750
+ # ```
751
+ sig { returns(T.self_type) }
752
+ def byte; end
753
+
754
+ # Enables the use of byte calculations and declarations, like 45.bytes + 2.6.megabytes
755
+ #
756
+ # ```ruby
757
+ # 2.bytes # => 2
758
+ # ```
759
+ sig { returns(T.self_type) }
760
+ def bytes; end
761
+
762
+ # Returns the number of bytes equivalent to the kilobytes provided.
763
+ #
764
+ # ```ruby
765
+ # 2.kilobytes # => 2048
766
+ # ```
767
+ sig { returns(T.self_type) }
768
+ def kilobyte; end
769
+
770
+ # Returns the number of bytes equivalent to the kilobytes provided.
771
+ #
772
+ # ```ruby
773
+ # 2.kilobytes # => 2048
774
+ # ```
775
+ sig { returns(T.self_type) }
776
+ def kilobytes; end
777
+
778
+ # Returns the number of bytes equivalent to the megabytes provided.
779
+ #
780
+ # ```ruby
781
+ # 2.megabytes # => 2_097_152
782
+ # ```
783
+ sig { returns(T.self_type) }
784
+ def megabyte; end
785
+
786
+ # Returns the number of bytes equivalent to the megabytes provided.
787
+ #
788
+ # ```ruby
789
+ # 2.megabytes # => 2_097_152
790
+ # ```
791
+ sig { returns(T.self_type) }
792
+ def megabytes; end
793
+
794
+ # Returns the number of bytes equivalent to the gigabytes provided.
795
+ #
796
+ # ```ruby
797
+ # 2.gigabytes # => 2_147_483_648
798
+ # ```
799
+ sig { returns(T.self_type) }
800
+ def gigabyte; end
801
+
802
+ # Returns the number of bytes equivalent to the gigabytes provided.
803
+ #
804
+ # ```ruby
805
+ # 2.gigabytes # => 2_147_483_648
806
+ # ```
807
+ sig { returns(T.self_type) }
808
+ def gigabytes; end
809
+
810
+ # Returns the number of bytes equivalent to the terabytes provided.
811
+ #
812
+ # ```ruby
813
+ # 2.terabytes # => 2_199_023_255_552
814
+ # ```
815
+ sig { returns(T.self_type) }
816
+ def terabyte; end
817
+
818
+ # Returns the number of bytes equivalent to the terabytes provided.
819
+ #
820
+ # ```ruby
821
+ # 2.terabytes # => 2_199_023_255_552
822
+ # ```
823
+ sig { returns(T.self_type) }
824
+ def terabytes; end
825
+
826
+ # Returns the number of bytes equivalent to the petabytes provided.
827
+ #
828
+ # ```ruby
829
+ # 2.petabytes # => 2_251_799_813_685_248
830
+ # ```
831
+ sig { returns(T.self_type) }
832
+ def petabyte; end
833
+
834
+ # Returns the number of bytes equivalent to the petabytes provided.
835
+ #
836
+ # ```ruby
837
+ # 2.petabytes # => 2_251_799_813_685_248
838
+ # ```
839
+ sig { returns(T.self_type) }
840
+ def petabytes; end
841
+
842
+ # Returns the number of bytes equivalent to the exabytes provided.
843
+ #
844
+ # ```ruby
845
+ # 2.exabytes # => 2_305_843_009_213_693_952
846
+ # ```
847
+ sig { returns(T.self_type) }
848
+ def exabyte; end
849
+
850
+ # Returns the number of bytes equivalent to the exabytes provided.
851
+ #
852
+ # ```ruby
853
+ # 2.exabytes # => 2_305_843_009_213_693_952
854
+ # ```
855
+ sig { returns(T.self_type) }
856
+ def exabytes; end
857
+ end
858
+
859
+ module Enumerable
860
+ # https://github.com/rails/rails/blob/v5.2.3/activesupport/lib/active_support/core_ext/enumerable.rb#L64..L72
861
+ # the case where a block isn't given isn't handled - that seems like an unlikely case
862
+ sig do
863
+ type_parameters(:key).params(
864
+ block: T.proc.params(o: Enumerable::Elem).returns(T.type_parameter(:key))
865
+ ).returns(
866
+ T::Hash[T.type_parameter(:key), Enumerable::Elem]
867
+ )
868
+ end
869
+ def index_by(&block); end
870
+ end
871
+
872
+ class ActiveSupport::Duration
873
+ # Returns the number of seconds that this Duration represents.
874
+ #
875
+ # ```ruby
876
+ # 1.minute.to_i # => 60
877
+ # 1.hour.to_i # => 3600
878
+ # 1.day.to_i # => 86400
879
+ # ```
880
+ #
881
+ # Note that this conversion makes some assumptions about the
882
+ # duration of some periods, e.g. months are always 1/12 of year
883
+ # and years are 365.2425 days:
884
+ #
885
+ # ```ruby
886
+ # # equivalent to (1.year / 12).to_i
887
+ # 1.month.to_i # => 2629746
888
+ #
889
+ # # equivalent to 365.2425.days.to_i
890
+ # 1.year.to_i # => 31556952
891
+ # ```
892
+ #
893
+ # In such cases, Ruby's core
894
+ # [Date](https://ruby-doc.org/stdlib/libdoc/date/rdoc/Date.html) and
895
+ # [Time](https://ruby-doc.org/stdlib/libdoc/time/rdoc/Time.html) should be used for precision
896
+ # date and time arithmetic.
897
+ sig { returns(Integer) }
898
+ def to_i; end
899
+
900
+ sig { returns(Float) }
901
+ def to_f; end
902
+
903
+ # Returns the amount of seconds a duration covers as a string.
904
+ # For more information check to_i method.
905
+ #
906
+ # ```ruby
907
+ # 1.day.to_s # => "86400"
908
+ # ```
909
+ sig { returns(String) }
910
+ def to_s; end
911
+
912
+ # Creates a new Duration from string formatted according to ISO 8601 Duration.
913
+ #
914
+ # See [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) for more information.
915
+ # This method allows negative parts to be present in pattern.
916
+ # If invalid string is provided, it will raise `ActiveSupport::Duration::ISO8601Parser::ParsingError`.
917
+ sig { params(iso8601duration: String).returns(ActiveSupport::Duration) }
918
+ def self.parse(iso8601duration); end
919
+
920
+ # Creates a new Duration from a seconds value that is converted
921
+ # to the individual parts:
922
+ #
923
+ # ```ruby
924
+ # ActiveSupport::Duration.build(31556952).parts # => {:years=>1}
925
+ # ActiveSupport::Duration.build(2716146).parts # => {:months=>1, :days=>1}
926
+ # ```
927
+ sig { params(value: Numeric).returns(ActiveSupport::Duration) }
928
+ def self.build(value); end
929
+
930
+ # Returns `true` if `other` is also a Duration instance, which has the
931
+ # same parts as this one.
932
+ sig { params(other: T.untyped).returns(T::Boolean) }
933
+ def eql?(other); end
934
+
935
+ # Compares one Duration with another or a Numeric to this Duration.
936
+ # Numeric values are treated as seconds.
937
+ sig { params(other: T.any(ActiveSupport::Duration, Numeric)).returns(Integer) }
938
+ def <=>(other); end
939
+
940
+ # Adds another Duration or a Numeric to this Duration. Numeric values
941
+ # are treated as seconds.
942
+ sig { params(other: T.any(ActiveSupport::Duration, Numeric)).returns(ActiveSupport::Duration) }
943
+ def +(other); end
944
+
945
+ # Subtracts another Duration or a Numeric from this Duration. Numeric
946
+ # values are treated as seconds.
947
+ sig { params(other: T.any(ActiveSupport::Duration, Numeric)).returns(ActiveSupport::Duration) }
948
+ def -(other); end
949
+
950
+ # Multiplies this Duration by a Numeric and returns a new Duration.
951
+ sig { params(other: Numeric).returns(ActiveSupport::Duration) }
952
+ def *(other); end
953
+
954
+ # Divides this Duration by a Numeric and returns a new Duration.
955
+ sig { params(other: Numeric).returns(ActiveSupport::Duration) }
956
+ def /(other); end
957
+
958
+ # Returns the modulo of this Duration by another Duration or Numeric.
959
+ # Numeric values are treated as seconds.
960
+ sig { params(other: T.any(ActiveSupport::Duration, Numeric)).returns(ActiveSupport::Duration) }
961
+ def %(other); end
962
+
963
+ # Returns `true` if `other` is also a Duration instance with the
964
+ # same `value`, or if `other == value`.
965
+ sig { params(other: T.untyped).returns(T::Boolean) }
966
+ def ==(other); end
967
+
968
+ # Build ISO 8601 Duration string for this duration.
969
+ # The `precision` parameter can be used to limit seconds' precision of duration.
970
+ sig { params(precision: T.nilable(Integer)).returns(String) }
971
+ def iso8601(precision: nil); end
972
+ end
973
+
974
+ module Benchmark
975
+ extend T::Sig
976
+
977
+ sig { params(block: T.proc.void).returns(Float) }
978
+ def self.ms(&block); end
979
+ end
@@ -8,9 +8,18 @@
8
8
  # typed: strong
9
9
 
10
10
  module Minitest
11
+ class Runnable
12
+ end
13
+
11
14
  class Test < Runnable
12
15
  include Minitest::Assertions
13
16
  end
17
+
18
+ sig { void }
19
+ def self.autorun; end
20
+
21
+ sig { params(args: T::Array[String]).returns(T::Boolean) }
22
+ def self.run(args = []); end
14
23
  end
15
24
 
16
25
  module Minitest::Assertions
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # https://github.com/sorbet/sorbet-typed/edit/master/lib/rainbow/all/rainbow.rbi
7
7
  #
8
- # typed: false
8
+ # typed: strong
9
9
 
10
10
  module Rainbow
11
11
  sig { returns(T::Boolean) }
@@ -57,7 +57,7 @@ module Rainbow
57
57
  sig { params(value: Numeric).returns(Integer) }
58
58
  def to_ansi_domain(value); end
59
59
 
60
- sig { params(ground: Symbol, values: Integer).returns(RGB) }
60
+ sig { params(ground: Symbol, values: Integer).returns(RGB) }
61
61
  def initialize(ground, *values); end
62
62
 
63
63
  sig { returns(T::Array[Integer]) }
@@ -94,9 +94,18 @@ module Rainbow
94
94
  sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
95
95
  def color(*values); end
96
96
 
97
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
98
+ def foreground(*values); end
99
+
100
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
101
+ def fg(*values); end
102
+
97
103
  sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
98
104
  def background(*values); end
99
105
 
106
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
107
+ def bg(*values); end
108
+
100
109
  sig { returns(NullPresenter) }
101
110
  def reset; end
102
111
 
@@ -148,12 +157,14 @@ module Rainbow
148
157
  sig { returns(NullPresenter) }
149
158
  def white; end
150
159
 
151
- alias foreground color
152
- alias fg color
153
- alias bg background
154
- alias bold bright
155
- alias dark faint
156
- alias strike cross_out
160
+ sig { returns(NullPresenter) }
161
+ def bold; end
162
+
163
+ sig { returns(NullPresenter) }
164
+ def dark; end
165
+
166
+ sig { returns(NullPresenter) }
167
+ def strike; end
157
168
  end
158
169
 
159
170
  class Presenter < String
@@ -162,9 +173,18 @@ module Rainbow
162
173
  sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
163
174
  def color(*values); end
164
175
 
176
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
177
+ def foreground(*values); end
178
+
179
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
180
+ def fg(*values); end
181
+
165
182
  sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
166
183
  def background(*values); end
167
184
 
185
+ sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
186
+ def bg(*values); end
187
+
168
188
  sig { returns(Presenter) }
169
189
  def reset; end
170
190
 
@@ -216,12 +236,14 @@ module Rainbow
216
236
  sig { returns(Presenter) }
217
237
  def white; end
218
238
 
219
- alias foreground color
220
- alias fg color
221
- alias bg background
222
- alias bold bright
223
- alias dark faint
224
- alias strike cross_out
239
+ sig { returns(Presenter) }
240
+ def bold; end
241
+
242
+ sig { returns(Presenter) }
243
+ def dark; end
244
+
245
+ sig { returns(Presenter) }
246
+ def strike; end
225
247
  end
226
248
 
227
249
  class StringUtils
@@ -240,7 +262,7 @@ module Rainbow
240
262
 
241
263
  sig { params(enabled: T::Boolean).returns(Wrapper) }
242
264
  def initialize(enabled = true); end
243
-
265
+
244
266
  sig { params(string: String).returns(T.any(Rainbow::Presenter, Rainbow::NullPresenter)) }
245
267
  def wrap(string); end
246
268
  end