code-ruby 1.6.13 → 1.7.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2452c9fd1fc30ef29bcb2d227dafd442864ad42022d1eb2b50c71b7fb20360a6
4
- data.tar.gz: 943582254e1c47851f40cb543ad62cdb923b1621da1ca59e3fc5012672527a1a
3
+ metadata.gz: 33ef71e66cc6f4693a344a3df19db365beb8a1c375ef74fa7fa0876bf03a4339
4
+ data.tar.gz: 47b827ad96ccf65cbd3530e592ee7c804ae593c64ca31a22369a924b3a04cdfc
5
5
  SHA512:
6
- metadata.gz: 02eb69304d106eedfd8a53075e2a7bbe618da59aab317b16bf71cc586e1421cfa7341cf22e49f7284f25fc1382fe4341b3df6e3c307b7383b8b1d19163ddb62f
7
- data.tar.gz: a25443c130ed4c4679ad9e6b8a897e3e80ce41a352484660e8a7d36d52a36b80e4373586ebc0cf7a6aa0b6345184f1294d69d07beffc015c36b9ce2a89ffba07
6
+ metadata.gz: 351bf9f83d635bcafb4ef387ebd796e981c186c64ac865b17e5f6dbafa6b5bb863ced90d2521318b7c48c5f03be6de71d8c43592595ba4aeb542b6b82f5153dd
7
+ data.tar.gz: 183791c8d842a780ca2721c68acc9bb15c5261ba8e0e06023b0f1bc07c867c979fb2a2889ae5faee4b1dc255f55d0dc997cbb4a26e0c0c5b49c7b0d3add0ef47
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- code-ruby (1.6.13)
4
+ code-ruby (1.7.0)
5
5
  activesupport
6
6
  base64
7
7
  bigdecimal
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.6.13
1
+ 1.7.0
@@ -193,6 +193,9 @@ class Code
193
193
  when "none?"
194
194
  sig(args) { (Function | Class).maybe }
195
195
  code_none?(code_value, **globals)
196
+ when "all?"
197
+ sig(args) { (Function | Class).maybe }
198
+ code_all?(code_value, **globals)
196
199
  when "reduce"
197
200
  sig(args) { (Function | Class).maybe }
198
201
  code_reduce(code_value, **globals)
@@ -781,6 +784,32 @@ class Code
781
784
  )
782
785
  end
783
786
 
787
+ def code_all?(argument = nil, **globals)
788
+ code_argument = argument.to_code
789
+
790
+ index = 0
791
+
792
+ Boolean.new(
793
+ raw.all? do |code_element|
794
+ if code_argument.is_a?(Function)
795
+ code_argument
796
+ .call(
797
+ arguments: List.new([code_element, Integer.new(index), self]),
798
+ **globals
799
+ )
800
+ .truthy?
801
+ .tap { index += 1 }
802
+ elsif code_argument.is_a?(Class)
803
+ code_element.is_a?(code_argument.raw).tap { index += 1 }
804
+ else
805
+ true.tap { index += 1 }
806
+ end
807
+ rescue Error::Next => e
808
+ e.code_value.truthy?.tap { index += 1 }
809
+ end
810
+ )
811
+ end
812
+
784
813
  def code_reduce(argument = nil, **globals)
785
814
  code_argument = argument.to_code
786
815
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: code-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.13
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Marié