xqsr3 0.15.1 → 0.15.2
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/lib/xqsr3/extensions/kernel/integer.rb +19 -1
- data/lib/xqsr3/version.rb +1 -1
- data/test/unit/extensions/kernel/tc_integer.rb +10 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8bac00397c53de860cb2094d8b0d0294ac2df4d0
|
4
|
+
data.tar.gz: 97b0e53955c9700186216d9f8e79a3788151dbc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 794f86ebad8a99416f0b43f85bb55604d40b85887819844aba99632ce1fe3151cafbbc831c356a65019ee8463da54b33256456ee0f0f055da8758bf7f91d2e1f
|
7
|
+
data.tar.gz: 2b6c1dee8c9d5b697e32a228ac8b371757e32a2f73e1a24d4832233aae32a0f3543595d15314119e5ec6f7a21573d44b8219df415975110e16d2d8bdf35c48a2
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# Purpose: Adds a Integer 'overload' to the Kernel module
|
6
6
|
#
|
7
7
|
# Created: 21st November 2017
|
8
|
-
# Updated:
|
8
|
+
# Updated: 22nd November 2017
|
9
9
|
#
|
10
10
|
# Home: http://github.com/synesissoftware/xqsr3
|
11
11
|
#
|
@@ -54,6 +54,22 @@ module Kernel
|
|
54
54
|
|
55
55
|
alias xqsr3_Integer_original_method Integer
|
56
56
|
|
57
|
+
# A monkey-patch extension of +Kernel#Integer+ with +options+
|
58
|
+
#
|
59
|
+
# === Signature
|
60
|
+
#
|
61
|
+
# * *Parameters*:
|
62
|
+
# - +arg+:: The argument to be converted (to +Fixnum+ or +Bignum+)
|
63
|
+
# - +base+:: A value of 0, or between 2 and 36. Defaults to 0
|
64
|
+
# - +options+:: An options hash, containing any of the following
|
65
|
+
# options
|
66
|
+
#
|
67
|
+
# * *Options*:
|
68
|
+
# - +:default+:: A default value to be used when +arg+ is +nil+ or
|
69
|
+
# cannot be converted by (the original) +Kernel#Integer+
|
70
|
+
# - +:nil+:: Returns +nil+ if +arg+ is +nil+ or cannot be
|
71
|
+
# converted by (the original) +Kernel#Integer+. Ignored if
|
72
|
+
# +:default+ is specified
|
57
73
|
def Integer(arg, base = 0, **options)
|
58
74
|
|
59
75
|
if options.has_key?(:default) || options[:nil]
|
@@ -75,6 +91,8 @@ module Kernel
|
|
75
91
|
xqsr3_Integer_original_method arg, base
|
76
92
|
end
|
77
93
|
end
|
94
|
+
|
95
|
+
private :xqsr3_Integer_original_method
|
78
96
|
end # module Kernel
|
79
97
|
|
80
98
|
# ############################## end of file ############################# #
|
data/lib/xqsr3/version.rb
CHANGED
@@ -60,6 +60,16 @@ class Test_X_Kernel_Integer < Test::Unit::TestCase
|
|
60
60
|
assert_equal :sentinel, Integer('plus 1', default: :sentinel)
|
61
61
|
assert_equal :sentinel, Integer('/0', default: :sentinel)
|
62
62
|
end
|
63
|
+
|
64
|
+
def test_Integer_with_invalid_values_returning_sentinel_of_nil
|
65
|
+
|
66
|
+
assert_equal nil, Integer(nil, default: nil)
|
67
|
+
assert_equal nil, Integer('', default: nil)
|
68
|
+
assert_equal nil, Integer('abc', default: nil)
|
69
|
+
assert_equal nil, Integer('zero', default: nil)
|
70
|
+
assert_equal nil, Integer('plus 1', default: nil)
|
71
|
+
assert_equal nil, Integer('/0', default: nil)
|
72
|
+
end
|
63
73
|
end
|
64
74
|
|
65
75
|
|