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