supplement 2.16 → 2.18
Sign up to get free protection for your applications and to get access to all the features.
- 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
|