rbtree3 0.7.1 → 1.0.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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +6 -0
  3. data/rbtree.c +5 -9
  4. data/test.rb +19 -16
  5. metadata +3 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e58d214b8c7a56e628ff7783e9f8ee40088fd78a3be0f719ee8f1125017d2d28
4
- data.tar.gz: 29f619a21052915efd058701b2fb334f983066ac35b6c370b73208b6bdd8fe9a
3
+ metadata.gz: 8d27d1e7a32ef3f88ddf0e3a4e6feed5d2fc8df02fd39d1d353c51a91d4f6ad2
4
+ data.tar.gz: 548f44e98a342c617f37ce6775a7686915fbd66a4e76e5bca401969910f16311
5
5
  SHA512:
6
- metadata.gz: e203ace7dad74d26d9df1d8776cbce09d9db8c15ab8d1cdc4ef822314346c595d851d0341c1c5a34a630d386959da4bac54b5b62b3e7d9a2789be7e78cbfae38
7
- data.tar.gz: 53dfea3812a02aa104aee2f07fa5dd1504d58e7427e4ee5e581903472362a7d1f0147b92ca753b625ee344a4ac7435d8a4dc2eba7ab9c50060317f82fedb599c
6
+ metadata.gz: 485f44e9c906d98c69f8fa197b7cdf59250d697ad2b7a844fd76d3aeb6128eb868b6b1bf38116136e2ad28cfc2b91d92d07d5b8c308ea988155b1a0f9cf650c4
7
+ data.tar.gz: a757b1c167d12842f8ed3d609d791004fe534c15789ddd3d1b769984885c6400baf86bdd07bf7c4eb0771e209fe113c14eb34e6dc6095b2c31249d6cfa6b7885
data/ChangeLog CHANGED
@@ -1,3 +1,9 @@
1
+ 2026-03-24 Hiroshi SHIBATA, Kyrylo Silin
2
+
3
+ * version 1.0.0 released.
4
+
5
+ * added support for Ruby 4.1
6
+
1
7
  2023-04-20 Tsimnuj Hawj
2
8
 
3
9
  * version 0.7.1 released.
data/rbtree.c CHANGED
@@ -1487,13 +1487,6 @@ typedef struct {
1487
1487
  VALUE pp;
1488
1488
  } pp_arg_t;
1489
1489
 
1490
- static VALUE
1491
- pp_object_group(VALUE arg_)
1492
- {
1493
- pp_arg_t* arg = (pp_arg_t*)arg_;
1494
- return rb_funcall(arg->pp, id_object_group, 1, arg->rbtree);
1495
- }
1496
-
1497
1490
  static VALUE
1498
1491
  pp_block(RB_BLOCK_CALL_FUNC_ARGLIST(nil, arg_))
1499
1492
  {
@@ -1524,8 +1517,11 @@ rbtree_pretty_print(VALUE self, VALUE pp)
1524
1517
  pp_arg.rbtree = self;
1525
1518
  pp_arg.pp = pp;
1526
1519
 
1527
- return rb_iterate(pp_object_group, (VALUE)&pp_arg,
1528
- pp_block, (VALUE)&pp_arg);
1520
+ {
1521
+ VALUE argv = pp_arg.rbtree;
1522
+ return rb_block_call(pp_arg.pp, id_object_group, 1, &argv,
1523
+ pp_block, (VALUE)&pp_arg);
1524
+ }
1529
1525
  }
1530
1526
 
1531
1527
  /*
data/test.rb CHANGED
@@ -722,27 +722,30 @@ class RBTreeTest < Test::Unit::TestCase
722
722
 
723
723
  def test_pp
724
724
  assert_equal(%(#<RBTree: {}, default=nil, cmp_proc=nil>\n),
725
- PP.pp(RBTree[], ""))
726
- assert_equal(%(#<RBTree: {"a"=>"A", "b"=>"B"}, default=nil, cmp_proc=nil>\n),
725
+ PP.pp(RBTree[], ""))
726
+
727
+ arrow = RUBY_VERSION >= "3.4" ? " => " : "=>"
728
+
729
+ assert_equal(%(#<RBTree: {"a"#{arrow}"A", "b"#{arrow}"B"}, default=nil, cmp_proc=nil>\n),
727
730
  PP.pp(RBTree[*%w(a A b B)], ""))
728
731
 
729
732
  rbtree = RBTree[*("a".."z").to_a]
730
733
  rbtree.default = "a"
731
734
  rbtree.readjust {|a, b| a <=> b }
732
735
  expected = <<EOS
733
- #<RBTree: {"a"=>"b",
734
- "c"=>"d",
735
- "e"=>"f",
736
- "g"=>"h",
737
- "i"=>"j",
738
- "k"=>"l",
739
- "m"=>"n",
740
- "o"=>"p",
741
- "q"=>"r",
742
- "s"=>"t",
743
- "u"=>"v",
744
- "w"=>"x",
745
- "y"=>"z"},
736
+ #<RBTree: {"a"#{arrow}"b",
737
+ "c"#{arrow}"d",
738
+ "e"#{arrow}"f",
739
+ "g"#{arrow}"h",
740
+ "i"#{arrow}"j",
741
+ "k"#{arrow}"l",
742
+ "m"#{arrow}"n",
743
+ "o"#{arrow}"p",
744
+ "q"#{arrow}"r",
745
+ "s"#{arrow}"t",
746
+ "u"#{arrow}"v",
747
+ "w"#{arrow}"x",
748
+ "y"#{arrow}"z"},
746
749
  default="a",
747
750
  cmp_proc=#{rbtree.cmp_proc}>
748
751
  EOS
@@ -752,7 +755,7 @@ EOS
752
755
  rbtree[rbtree] = rbtree
753
756
  rbtree.default = rbtree
754
757
  expected = <<EOS
755
- #<RBTree: {"#<RBTree: ...>"=>"#<RBTree: ...>"},
758
+ #<RBTree: {"#<RBTree: ...>"#{arrow}"#<RBTree: ...>"},
756
759
  default="#<RBTree: ...>",
757
760
  cmp_proc=nil>
758
761
  EOS
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbtree3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyrylo Silin
8
8
  - OZAWA Takuma
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2023-04-20 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: |-
15
14
  A RBTree is a sorted associative collection that is implemented with a Red-Black Tree. It maps keys to values like a Hash, but maintains its elements in ascending key order. The interface is the almost identical to that of Hash.
@@ -39,7 +38,6 @@ metadata:
39
38
  homepage_uri: https://github.com/kyrylo/rbtree3
40
39
  source_code_uri: https://github.com/kyrylo/rbtree3
41
40
  changelog_uri: https://github.com/kyrylo/rbtree3/blob/master/ChangeLog
42
- post_install_message:
43
41
  rdoc_options: []
44
42
  require_paths:
45
43
  - "./"
@@ -54,8 +52,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
54
52
  - !ruby/object:Gem::Version
55
53
  version: '0'
56
54
  requirements: []
57
- rubygems_version: 3.4.1
58
- signing_key:
55
+ rubygems_version: 4.0.3
59
56
  specification_version: 4
60
57
  summary: A RBTree is a sorted associative collection that is implemented with a Red-Black
61
58
  Tree.