supplement 2.16 → 2.18
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 +4 -4
- data/README +2 -2
- data/lib/supplement/socket.c +7 -3
- data/lib/supplement.c +30 -1
- data/lib/supplement.h +11 -8
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 561912aa02f069434802b541add075b1da590f48683a2fab71ca49b3d383303d
|
4
|
+
data.tar.gz: d3c555d5ee6178288fbaa106056c25969e8e1b95aea3acb239c788a33bf333bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62d3318a08eb07bab3c467012f13f5404237dd02444351ff982c4c387666ee1f3704b7523b3ca1b8c93e342b1d8494367929d28fc115b9c2fe4c86a198c87b2d
|
7
|
+
data.tar.gz: 4be7ab9130603ad97a223645952a2c6d388b0e483a0a8ffa89a06f64ab337f2d3d2638feefe328901d9b2330f136b098c3b35d6389e52bea0f9cf209ad7e7c6b
|
data/README
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= supplement 2.
|
1
|
+
= supplement 2.18 -- Useful Ruby enhancements
|
2
2
|
|
3
3
|
|
4
4
|
Some simple Ruby extensions.
|
@@ -59,7 +59,7 @@ Now here it is where I can just point to.
|
|
59
59
|
* Struct.[]
|
60
60
|
* Integer.roman
|
61
61
|
* Date.easter
|
62
|
-
* TCPServer.accept with a code block
|
62
|
+
* TCPServer/UNIXServer.accept with a code block
|
63
63
|
* File system stats
|
64
64
|
* Process.renice
|
65
65
|
* Interval timer
|
data/lib/supplement/socket.c
CHANGED
@@ -40,14 +40,18 @@ socket_close( VALUE v)
|
|
40
40
|
void Init_socket( void)
|
41
41
|
{
|
42
42
|
VALUE rb_cTCPServer;
|
43
|
+
VALUE rb_cUNIXServer;
|
43
44
|
|
44
45
|
id_accept_orig = rb_intern( "accept_orig");
|
45
46
|
id_close = rb_intern( "close");
|
46
47
|
|
47
48
|
rb_require( "socket");
|
48
|
-
rb_cTCPServer
|
49
|
+
rb_cTCPServer = rb_const_get( rb_cObject, rb_intern( "TCPServer"));
|
50
|
+
rb_cUNIXServer = rb_const_get( rb_cObject, rb_intern( "UNIXServer"));
|
49
51
|
|
50
|
-
rb_define_alias( rb_cTCPServer,
|
51
|
-
rb_define_method( rb_cTCPServer,
|
52
|
+
rb_define_alias( rb_cTCPServer, "accept_orig", "accept");
|
53
|
+
rb_define_method( rb_cTCPServer, "accept", rb_socket_accept, 0);
|
54
|
+
rb_define_alias( rb_cUNIXServer, "accept_orig", "accept");
|
55
|
+
rb_define_method( rb_cUNIXServer, "accept", rb_socket_accept, 0);
|
52
56
|
}
|
53
57
|
|
data/lib/supplement.c
CHANGED
@@ -1511,9 +1511,34 @@ bsruby_set_thread_critical( VALUE c)
|
|
1511
1511
|
*/
|
1512
1512
|
|
1513
1513
|
|
1514
|
+
|
1515
|
+
/*
|
1516
|
+
* Document-class: Object
|
1517
|
+
*/
|
1518
|
+
|
1519
|
+
/*
|
1520
|
+
* call-seq:
|
1521
|
+
* to_bool -> true
|
1522
|
+
*
|
1523
|
+
* Returns true for anything but +nil+ and +false+.
|
1524
|
+
*/
|
1525
|
+
|
1526
|
+
VALUE
|
1527
|
+
rb_nil_to_bool( VALUE obj)
|
1528
|
+
{
|
1529
|
+
return Qfalse;
|
1530
|
+
}
|
1531
|
+
|
1532
|
+
VALUE
|
1533
|
+
rb_obj_to_bool( VALUE obj)
|
1534
|
+
{
|
1535
|
+
return Qtrue;
|
1536
|
+
}
|
1537
|
+
|
1538
|
+
|
1539
|
+
|
1514
1540
|
void Init_supplement( void)
|
1515
1541
|
{
|
1516
|
-
rb_define_alias( rb_cObject, "cls", "class");
|
1517
1542
|
rb_define_method( rb_cObject, "new_string", rb_obj_new_string, 0);
|
1518
1543
|
rb_define_method( rb_cObject, "nil_if", rb_obj_nil_if, 1);
|
1519
1544
|
#ifdef FEATURE_KERNEL_TAP
|
@@ -1595,6 +1620,10 @@ void Init_supplement( void)
|
|
1595
1620
|
rb_define_method( rb_cStruct, "fields", rb_struct_fields, -1);
|
1596
1621
|
rb_define_alias( rb_cStruct, "fetch_values", "fields");
|
1597
1622
|
|
1623
|
+
rb_define_method( rb_cNilClass, "to_bool", rb_nil_to_bool, 0);
|
1624
|
+
rb_define_method( rb_cFalseClass, "to_bool", rb_nil_to_bool, 0);
|
1625
|
+
rb_define_method( rb_cObject, "to_bool", rb_obj_to_bool, 0);
|
1626
|
+
|
1598
1627
|
id_delete_at = rb_intern( "delete_at");
|
1599
1628
|
id_cmp = rb_intern( "<=>");
|
1600
1629
|
id_eqq = 0;
|
data/lib/supplement.h
CHANGED
@@ -45,6 +45,12 @@ extern VALUE rb_str_ord( VALUE);
|
|
45
45
|
#endif
|
46
46
|
extern VALUE rb_str_axe( int, VALUE *, VALUE);
|
47
47
|
|
48
|
+
extern VALUE rb_num_pos_p( VALUE);
|
49
|
+
extern VALUE rb_num_neg_p( VALUE);
|
50
|
+
extern VALUE rb_num_grammatical( VALUE, VALUE, VALUE);
|
51
|
+
extern VALUE rb_num_sqrt( VALUE);
|
52
|
+
extern VALUE rb_num_cbrt( VALUE);
|
53
|
+
|
48
54
|
extern VALUE rb_ary_notempty_p( VALUE);
|
49
55
|
extern VALUE rb_ary_indexes( VALUE);
|
50
56
|
extern VALUE rb_ary_range( VALUE);
|
@@ -58,12 +64,6 @@ extern VALUE rb_ary_rindex( int, VALUE *, VALUE);
|
|
58
64
|
extern VALUE rb_ary_select_bang( VALUE);
|
59
65
|
#endif
|
60
66
|
|
61
|
-
extern VALUE rb_num_pos_p( VALUE);
|
62
|
-
extern VALUE rb_num_neg_p( VALUE);
|
63
|
-
extern VALUE rb_num_grammatical( VALUE, VALUE, VALUE);
|
64
|
-
extern VALUE rb_num_sqrt( VALUE);
|
65
|
-
extern VALUE rb_num_cbrt( VALUE);
|
66
|
-
|
67
67
|
extern VALUE rb_hash_notempty_p( VALUE);
|
68
68
|
|
69
69
|
#ifdef FEATURE_FILE_SIZE
|
@@ -77,12 +77,15 @@ extern VALUE rb_dir_children( VALUE);
|
|
77
77
|
extern VALUE rb_match_begin( int, VALUE *, VALUE);
|
78
78
|
extern VALUE rb_match_end( int, VALUE *, VALUE);
|
79
79
|
|
80
|
-
extern VALUE rb_struct_fields( int, VALUE *, VALUE);
|
81
|
-
|
82
80
|
#ifdef FEATURE_THREAD_EXCLUSIVE
|
83
81
|
extern VALUE rb_thread_exclusive( void);
|
84
82
|
#endif
|
85
83
|
|
84
|
+
extern VALUE rb_struct_fields( int, VALUE *, VALUE);
|
85
|
+
|
86
|
+
extern VALUE rb_nil_to_bool( VALUE);
|
87
|
+
extern VALUE rb_obj_to_bool( VALUE);
|
88
|
+
|
86
89
|
extern void Init_supplement( void);
|
87
90
|
|
88
91
|
#endif
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: supplement
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '2.
|
4
|
+
version: '2.18'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bertram Scharpf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: autorake
|
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
81
81
|
version: '0'
|
82
82
|
requirements:
|
83
83
|
- Ruby and the autorake gem
|
84
|
-
rubygems_version: 3.4.
|
84
|
+
rubygems_version: 3.4.20
|
85
85
|
signing_key:
|
86
86
|
specification_version: 4
|
87
87
|
summary: Simple Ruby extensions
|