xqsr3 0.32.2 → 0.32.3
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/array_utilities/join_with_or.rb +7 -14
- data/lib/xqsr3/command_line_utilities/map_option_string.rb +19 -7
- data/lib/xqsr3/containers/frequency_map.rb +1 -1
- data/lib/xqsr3/containers/multi_map.rb +28 -0
- data/lib/xqsr3/conversion/bool_parser.rb +11 -14
- data/lib/xqsr3/conversion/integer_parser.rb +7 -14
- data/lib/xqsr3/diagnostics/exception_utilities.rb +2 -2
- data/lib/xqsr3/diagnostics/exceptions/with_cause.rb +15 -7
- data/lib/xqsr3/diagnostics/inspect_builder.rb +11 -15
- data/lib/xqsr3/doc_.rb +138 -9
- data/lib/xqsr3/extensions/array/join_with_or.rb +6 -0
- data/lib/xqsr3/extensions/enumerable/collect_with_index.rb +5 -4
- data/lib/xqsr3/extensions/enumerable/detect_map.rb +6 -7
- data/lib/xqsr3/extensions/hash/has_match.rb +7 -0
- data/lib/xqsr3/extensions/hash/match.rb +7 -0
- data/lib/xqsr3/extensions/kernel/integer.rb +6 -13
- data/lib/xqsr3/extensions/string/to_bool.rb +4 -0
- data/lib/xqsr3/extensions/test/unit/assert_eql.rb +1 -0
- data/lib/xqsr3/extensions/test/unit/assert_false.rb +1 -0
- data/lib/xqsr3/extensions/test/unit/assert_not.rb +1 -0
- data/lib/xqsr3/extensions/test/unit/assert_not_eql.rb +1 -0
- data/lib/xqsr3/extensions/test/unit/assert_raise_with_message.rb +5 -2
- data/lib/xqsr3/extensions/test/unit/assert_subclass_of.rb +1 -0
- data/lib/xqsr3/extensions/test/unit/assert_superclass_of.rb +1 -0
- data/lib/xqsr3/extensions/test/unit/assert_true.rb +1 -0
- data/lib/xqsr3/extensions/test/unit/assert_type_has_instance_methods.rb +3 -12
- data/lib/xqsr3/hash_utilities/deep_transform.rb +2 -2
- data/lib/xqsr3/internal_/test_unit_version_.rb +4 -4
- data/lib/xqsr3/io/writelines.rb +6 -6
- data/lib/xqsr3/quality/parameter_checking.rb +50 -77
- data/lib/xqsr3/string_utilities/ends_with.rb +14 -6
- data/lib/xqsr3/string_utilities/nil_if_empty.rb +6 -3
- data/lib/xqsr3/string_utilities/nil_if_whitespace.rb +7 -3
- data/lib/xqsr3/string_utilities/quote_if.rb +10 -13
- data/lib/xqsr3/string_utilities/starts_with.rb +22 -5
- data/lib/xqsr3/string_utilities/to_symbol.rb +23 -5
- data/lib/xqsr3/string_utilities/truncate.rb +19 -4
- data/lib/xqsr3/version.rb +1 -1
- 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: 5362a61770df81001025713c2465c5ed9bea6a49
|
4
|
+
data.tar.gz: 70f643bccc5e09b76acf3a4944e02dbe0e763d6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8cc83e03876a54224a4f4a28ea3ebf4ff289b2a4f8b11d1c727c41716a3ef68e670d10dd0f796d5b3273124b9308a0e4701fae02a030856f1183a2dafae3b2cb
|
7
|
+
data.tar.gz: 3b12d249383fddfde861575e9ed42a329220aba5b47f22204afdf0b5a3317290460004071e3c2d3a4c9590231b5eb61a01c38e1ca6f093ed2cd696ea7095469f
|
@@ -56,6 +56,7 @@ require 'xqsr3/quality/parameter_checking'
|
|
56
56
|
module Xqsr3
|
57
57
|
module ArrayUtilities
|
58
58
|
|
59
|
+
# +include+-able module that provides sequence-joining functionality
|
59
60
|
module JoinWithOr
|
60
61
|
|
61
62
|
extend self
|
@@ -65,22 +66,14 @@ module JoinWithOr
|
|
65
66
|
# === Signature
|
66
67
|
#
|
67
68
|
# * *Parameters:*
|
68
|
-
#
|
69
|
-
#
|
70
|
-
# - +ar+:: [Array] The array whose contents are to be joined
|
71
|
-
#
|
72
|
-
# * *Options parameters*:
|
73
|
-
# - +options+:: [Hash] Options that control the behaviour of the
|
74
|
-
# method
|
69
|
+
# - +ar+ (Array) The array whose contents are to be joined
|
70
|
+
# - +options+ (Hash) Options that control the behaviour of the method
|
75
71
|
#
|
76
72
|
# * *Options:*
|
77
|
-
#
|
78
|
-
# - +:
|
79
|
-
# - +:
|
80
|
-
#
|
81
|
-
# - +:quote_char+ [String] The quote character. Default is empty
|
82
|
-
# string
|
83
|
-
# - +:separator+ [String] The separator character. Default is +','+
|
73
|
+
# - +:or+ (String) A string that is used instead of 'or'
|
74
|
+
# - +:oxford_comma+ (boolean) Determines whether an Oxford comma will be used. Default is +true+
|
75
|
+
# - +:quote_char+ (String) The quote character. Default is empty string ''
|
76
|
+
# - +:separator+ (String) The separator character. Default is ','
|
84
77
|
def join_with_or ar, **options
|
85
78
|
|
86
79
|
::Xqsr3::Quality::ParameterChecking.check_parameter ar, 'ar', type: ::Array, allow_nil: true
|
@@ -6,13 +6,13 @@
|
|
6
6
|
# ::Xqsr3::CommandLineUtilities::MapOptionString module
|
7
7
|
#
|
8
8
|
# Created: 15th April 2016
|
9
|
-
# Updated:
|
9
|
+
# Updated: 12th April 2019
|
10
10
|
#
|
11
11
|
# Home: http://github.com/synesissoftware/xqsr3
|
12
12
|
#
|
13
13
|
# Author: Matthew Wilson
|
14
14
|
#
|
15
|
-
# Copyright (c) 2016-
|
15
|
+
# Copyright (c) 2016-2019, Matthew Wilson and Synesis Software
|
16
16
|
# All rights reserved.
|
17
17
|
#
|
18
18
|
# Redistribution and use in source and binary forms, with or without
|
@@ -56,20 +56,19 @@ require 'xqsr3/string_utilities/to_symbol'
|
|
56
56
|
module Xqsr3
|
57
57
|
module CommandLineUtilities
|
58
58
|
|
59
|
-
#
|
59
|
+
# +include+-able module providing facilities for mapping strings to options
|
60
60
|
#
|
61
61
|
# === Components of interest
|
62
|
-
# * ::Xqsr3::CommandLineUtilities::MapOptionString.
|
62
|
+
# * ::Xqsr3::CommandLineUtilities::MapOptionString.map_option_string_from_string
|
63
|
+
# * ::Xqsr3::CommandLineUtilities::MapOptionString#map_option_string
|
63
64
|
module MapOptionString
|
64
65
|
|
65
|
-
# :nodoc:
|
66
|
-
def self.included includer
|
66
|
+
def self.included includer # :nodoc:
|
67
67
|
|
68
68
|
raise TypeError, "module #{self} cannot be included into #{includer} because it does not respond to to_str" unless includer.method_defined? :to_str
|
69
69
|
end
|
70
70
|
|
71
71
|
private
|
72
|
-
# :nodoc:
|
73
72
|
module MapOptionString_Helper_ # :nodoc:
|
74
73
|
|
75
74
|
def self.map_option_string_with_options_ s, option_strings, options
|
@@ -117,6 +116,13 @@ module MapOptionString
|
|
117
116
|
|
118
117
|
# Attempts to translate the value of a given string according
|
119
118
|
# to a collection of options strings
|
119
|
+
#
|
120
|
+
# === Signature
|
121
|
+
#
|
122
|
+
# * *Parameters:*
|
123
|
+
# - +s+ (::String) The string to be mapped
|
124
|
+
# - +option_strings+ ([::String]) An array of strings against which the mapping will be performed
|
125
|
+
# - +options+ (Hash) Options that control the behaviour of the method
|
120
126
|
def self.map_option_string_from_string s, option_strings, options = {}
|
121
127
|
|
122
128
|
MapOptionString_Helper_.map_option_string_with_options_ s, option_strings, options
|
@@ -124,6 +130,11 @@ module MapOptionString
|
|
124
130
|
|
125
131
|
# Attempts to translate the (string) value of the receiver according
|
126
132
|
# to a collection of options strings
|
133
|
+
#
|
134
|
+
# === Signature
|
135
|
+
#
|
136
|
+
# * *Parameters:*
|
137
|
+
# - +option_strings+ ([::String]) An array of strings against which the mapping will be performed
|
127
138
|
def map_option_string option_strings, options = {}
|
128
139
|
|
129
140
|
s = self.kind_of?(::String) ? self : self.to_str
|
@@ -137,3 +148,4 @@ end # module Xqsr3
|
|
137
148
|
|
138
149
|
# ############################## end of file ############################# #
|
139
150
|
|
151
|
+
|
@@ -53,10 +53,12 @@
|
|
53
53
|
module Xqsr3
|
54
54
|
module Containers
|
55
55
|
|
56
|
+
# Hash-like class that stores as mapped values in arrays
|
56
57
|
class MultiMap < ::Hash
|
57
58
|
|
58
59
|
include Enumerable
|
59
60
|
|
61
|
+
# Creates an instance from the given arguments
|
60
62
|
def self.[] *args
|
61
63
|
|
62
64
|
return self.new if 0 == args.length
|
@@ -128,11 +130,14 @@ class MultiMap < ::Hash
|
|
128
130
|
end
|
129
131
|
end
|
130
132
|
|
133
|
+
# Initialises an instance
|
131
134
|
def initialize
|
132
135
|
|
133
136
|
@inner = Hash.new
|
134
137
|
end
|
135
138
|
|
139
|
+
# Obtains the values, if any, for the given key; returns +nil+ if no
|
140
|
+
# values are stored
|
136
141
|
def [] key
|
137
142
|
|
138
143
|
return @inner[key]
|
@@ -147,6 +152,13 @@ class MultiMap < ::Hash
|
|
147
152
|
store key, *values
|
148
153
|
end
|
149
154
|
|
155
|
+
# Compares the instance for equality against +rhs+
|
156
|
+
#
|
157
|
+
# * *Parameters:*
|
158
|
+
# - +rhs+ (+nil+, +::Hash+, +MultiMap+) The instance to compare against
|
159
|
+
#
|
160
|
+
# * *Exceptions:*
|
161
|
+
# - +::TypeError+ if +rhs+ is not of the required type(s)
|
150
162
|
def == rhs
|
151
163
|
|
152
164
|
case rhs
|
@@ -163,21 +175,29 @@ class MultiMap < ::Hash
|
|
163
175
|
false
|
164
176
|
end
|
165
177
|
|
178
|
+
# Searches the instance comparing each element with +key+, returning the
|
179
|
+
# mapped values array if found, or +nil+ if not
|
166
180
|
def assoc key
|
167
181
|
|
168
182
|
@inner.assoc key
|
169
183
|
end
|
170
184
|
|
185
|
+
# Removes all elements from the instance
|
171
186
|
def clear
|
172
187
|
|
173
188
|
@inner.clear
|
174
189
|
end
|
175
190
|
|
191
|
+
# The total number of instances recorded
|
176
192
|
def count
|
177
193
|
|
178
194
|
@inner.each_value.map { |ar| ar.size}.inject(0, :+)
|
179
195
|
end
|
180
196
|
|
197
|
+
# Deletes all values mapped with the given +key+
|
198
|
+
#
|
199
|
+
# * *Parameters:*
|
200
|
+
# - +key+ The key to delete
|
181
201
|
def delete key
|
182
202
|
|
183
203
|
@inner.delete key
|
@@ -200,6 +220,8 @@ class MultiMap < ::Hash
|
|
200
220
|
end
|
201
221
|
end
|
202
222
|
|
223
|
+
# Calls _block_ once for each element in the instance, passing the
|
224
|
+
# key. If no block is provided, an enumerator is returned
|
203
225
|
def each_key
|
204
226
|
|
205
227
|
return @inner.each_key unless block_given?
|
@@ -236,11 +258,14 @@ class MultiMap < ::Hash
|
|
236
258
|
end
|
237
259
|
end
|
238
260
|
|
261
|
+
# Returns +true+ if instance contains no elements; +false+ otherwise
|
239
262
|
def empty?
|
240
263
|
|
241
264
|
@inner.empty?
|
242
265
|
end
|
243
266
|
|
267
|
+
# Returns +true+ if +rhs+ is an instance of +MultiMap+ and contains
|
268
|
+
# the same elements and their counts; +false+ otherwise
|
244
269
|
def eql? rhs
|
245
270
|
|
246
271
|
case rhs
|
@@ -295,6 +320,7 @@ class MultiMap < ::Hash
|
|
295
320
|
@inner.fetch key
|
296
321
|
end
|
297
322
|
|
323
|
+
# Returns the equivalent flattened form of the instance
|
298
324
|
def flatten
|
299
325
|
|
300
326
|
r = []
|
@@ -316,6 +342,8 @@ class MultiMap < ::Hash
|
|
316
342
|
r
|
317
343
|
end
|
318
344
|
|
345
|
+
# Returns +true+ if an element with the given +key+ is in the map; +false+
|
346
|
+
# otherwise
|
319
347
|
def has_key? key
|
320
348
|
|
321
349
|
@inner.has_key? key
|
@@ -54,6 +54,7 @@
|
|
54
54
|
module Xqsr3
|
55
55
|
module Conversion
|
56
56
|
|
57
|
+
# +include-able module that provides Boolean parsing
|
57
58
|
module BoolParser
|
58
59
|
|
59
60
|
private
|
@@ -69,30 +70,26 @@ module BoolParser
|
|
69
70
|
|
70
71
|
public
|
71
72
|
|
73
|
+
# Recognised truey values
|
72
74
|
DEFAULT_TRUE_VALUES = [ /true/i, '1' ]
|
75
|
+
# Recognised falsey values
|
73
76
|
DEFAULT_FALSE_VALUES = [ /false/i, '0' ]
|
74
77
|
|
75
|
-
# Attempts to parse the given
|
78
|
+
# Attempts to parse the given string +s+ to a Boolean value, based on the
|
76
79
|
# given +options+
|
77
80
|
#
|
78
81
|
# === Signature
|
79
82
|
#
|
80
83
|
# * *Parameters:*
|
81
|
-
# - +
|
84
|
+
# - +s+ The string to be parsed
|
85
|
+
# - +options+ An options hash, containing any of the following options
|
82
86
|
#
|
83
87
|
# * *Options:*
|
84
|
-
# - +:false_values
|
85
|
-
#
|
86
|
-
#
|
87
|
-
# - +:
|
88
|
-
#
|
89
|
-
# +DEFAULT_TRUE_VALUES+
|
90
|
-
# - +:default_value+:: An object to be returned if matching fails.
|
91
|
-
# Defaults to +nil+
|
92
|
-
# - +:false_value+:: An object to be returned if matching succeeds to
|
93
|
-
# match against +:false_values+.
|
94
|
-
# - +:true_value+:: An object to be returned if matching succeeds to
|
95
|
-
# match against +:true_values+.
|
88
|
+
# - +:false_values+ (::Array) An array of strings or regular expressions against which to match for false value. Defaults to +DEFAULT_FALSE_VALUES+
|
89
|
+
# - +:true_values+ (::Array) An array of strings or regular expressions against which to match for true value. Defaults to +DEFAULT_TRUE_VALUES+
|
90
|
+
# - +:default_value+ An object to be returned if matching fails. Defaults to +nil+
|
91
|
+
# - +:false_value+ An object to be returned if matching succeeds to match against +:false_values+. Defaults to +false+
|
92
|
+
# - +:true_value+ An object to be returned if matching succeeds to match against +:true_values+. Defaults to +true+
|
96
93
|
def self.to_bool s, **options
|
97
94
|
|
98
95
|
true_values = options[:true_values] || DEFAULT_TRUE_VALUES
|
@@ -54,6 +54,7 @@
|
|
54
54
|
module Xqsr3
|
55
55
|
module Conversion
|
56
56
|
|
57
|
+
# +include-able module that provides Integer parsing
|
57
58
|
module IntegerParser
|
58
59
|
|
59
60
|
private
|
@@ -156,22 +157,14 @@ module IntegerParser
|
|
156
157
|
# === Signature
|
157
158
|
#
|
158
159
|
# * *Parameters:*
|
159
|
-
# - +arg
|
160
|
-
# - +base
|
161
|
-
# - +options
|
162
|
-
#
|
163
|
-
# - +block+:: An optional caller-supplied 4-parameter block -
|
164
|
-
# taking the exception, +arg+, +base+, and +options+ - that will be
|
165
|
-
# invoked with the +ArgumentError+ exception, allowing the caller to
|
166
|
-
# take additional action. If the block returns then its return value
|
167
|
-
# will be returned to the caller
|
160
|
+
# - +arg+ The argument to be converted (to +Fixnum+ or +Bignum+)
|
161
|
+
# - +base+ A value of 0, or between 2 and 36. Defaults to 0
|
162
|
+
# - +options+ An options hash, containing any of the following options
|
163
|
+
# - +block+ An optional caller-supplied 4-parameter block - taking the exception, +arg+, +base+, and +options+ - that will be invoked with the +ArgumentError+ exception, allowing the caller to take additional action. If the block returns then its return value will be returned to the caller
|
168
164
|
#
|
169
165
|
# * *Options:*
|
170
|
-
# - +:default
|
171
|
-
#
|
172
|
-
# - +:nil+:: Returns +nil+ if +arg+ is +nil+ or cannot be
|
173
|
-
# converted by (the original) +Kernel#Integer+. Ignored if
|
174
|
-
# +:default+ is specified
|
166
|
+
# - +:default+ A default value to be used when +arg+ is +nil+ or cannot be converted by (the original) +Kernel#Integer+
|
167
|
+
# - +:nil+ Returns +nil+ if +arg+ is +nil+ or cannot be converted by (the original) +Kernel#Integer+. Ignored if +:default+ is specified
|
175
168
|
def self.to_integer arg, base = 0, **options, &block
|
176
169
|
|
177
170
|
IntegerParser_Helper_.to_integer_ arg, base, options, &block
|
@@ -5,13 +5,13 @@
|
|
5
5
|
# Purpose: Definition of the WithCause inclusion module
|
6
6
|
#
|
7
7
|
# Created: 16th December 2017
|
8
|
-
# Updated:
|
8
|
+
# Updated: 12th April 2019
|
9
9
|
#
|
10
10
|
# Home: http://github.com/synesissoftware/xqsr3
|
11
11
|
#
|
12
12
|
# Author: Matthew Wilson
|
13
13
|
#
|
14
|
-
# Copyright (c) 2017-
|
14
|
+
# Copyright (c) 2017-2019, Matthew Wilson and Synesis Software
|
15
15
|
# All rights reserved.
|
16
16
|
#
|
17
17
|
# Redistribution and use in source and binary forms, with or without
|
@@ -66,6 +66,7 @@ module Exceptions
|
|
66
66
|
#
|
67
67
|
module WithCause
|
68
68
|
|
69
|
+
# Array of hidden fields
|
69
70
|
INSPECT_HIDDEN_FIELDS = [ 'has_implicit_message', 'uses_cause_message' ]
|
70
71
|
|
71
72
|
# Defines an initializer for an exception class that allows a cause (aka
|
@@ -75,13 +76,11 @@ module WithCause
|
|
75
76
|
# === Signature
|
76
77
|
#
|
77
78
|
# * *Parameters:*
|
78
|
-
# -
|
79
|
-
# - +
|
79
|
+
# - +args+ 0+ arguments passed through to the +include+-ing class' initialiser
|
80
|
+
# - +options+ Options hash
|
80
81
|
#
|
81
82
|
# * *Options:*
|
82
|
-
# - +:cause+ - The exception to be used as a cause, and ensures that
|
83
|
-
# that is not inferred from the arguments. May be +nil+ to ensure
|
84
|
-
# that no cause is inferred
|
83
|
+
# - +:cause+ - The exception to be used as a cause, and ensures that that is not inferred from the arguments. May be +nil+ to ensure that no cause is inferred
|
85
84
|
def initialize(*args, **options)
|
86
85
|
|
87
86
|
@uses_cause_message = false
|
@@ -143,6 +142,15 @@ module WithCause
|
|
143
142
|
# present
|
144
143
|
attr_reader :options
|
145
144
|
|
145
|
+
# Message obtained by concatenation of all chained exceptions' messages
|
146
|
+
#
|
147
|
+
# === Signature
|
148
|
+
#
|
149
|
+
# * *Parameters:*
|
150
|
+
# - +options+ Options hash
|
151
|
+
#
|
152
|
+
# * *Options:*
|
153
|
+
# - +:separator+ (String) A string used to separate each chained exception message. Defaults to ": "
|
146
154
|
def chained_message **options
|
147
155
|
|
148
156
|
return message unless cause
|
@@ -5,13 +5,13 @@
|
|
5
5
|
# Purpose: ::Xqsr3::Diagnostics::InspectBuilder module
|
6
6
|
#
|
7
7
|
# Created: 4th September 2018
|
8
|
-
# Updated:
|
8
|
+
# Updated: 12th April 2019
|
9
9
|
#
|
10
10
|
# Home: http://github.com/synesissoftware/xqsr3
|
11
11
|
#
|
12
12
|
# Author: Matthew Wilson
|
13
13
|
#
|
14
|
-
# Copyright (c) 2018, Matthew Wilson and Synesis Software
|
14
|
+
# Copyright (c) 2018-2019, Matthew Wilson and Synesis Software
|
15
15
|
# All rights reserved.
|
16
16
|
#
|
17
17
|
# Redistribution and use in source and binary forms, with or without
|
@@ -59,25 +59,21 @@ module InspectBuilder
|
|
59
59
|
NORMALISE_FUNCTION = lambda { |ar| ar.map { |v| v.to_s }.map { |v| '@' == v[0] ? v : "@#{v}" } }
|
60
60
|
end # module InspectBuilder_Utilities
|
61
61
|
|
62
|
+
# Generates an inspect string for the +include+-ing class
|
62
63
|
#
|
63
64
|
# === Signature
|
64
65
|
#
|
65
66
|
# * *Parameters:*
|
66
|
-
#
|
67
|
-
# will be built
|
67
|
+
# - +o+ The target of the +inspect+ message for which a message will be built
|
68
68
|
#
|
69
69
|
# * *Options:*
|
70
|
-
#
|
71
|
-
#
|
72
|
-
#
|
73
|
-
#
|
74
|
-
# (when +:show_fields+ is specified).
|
75
|
-
#
|
76
|
-
#
|
77
|
-
# @option +:truncate_width+:: (Integer) Specifies a maximum width for
|
78
|
-
# the values of fields
|
79
|
-
# @option +:deep_inspect+:: (boolean) Causes fields' values to be
|
80
|
-
# obtained via their own +inspect+ methods
|
70
|
+
# - +:no_class+ (boolean) Elides the class qualification
|
71
|
+
# - +:no_object_id+ (boolean) Elides the object id
|
72
|
+
# - +:show_fields+ (boolean) Shows (all) object fields
|
73
|
+
# - +:hidden_fields+ ([ String ]) Names of fields to be omitted (when +:show_fields+ is specified). Overridden by +:shown_fields+
|
74
|
+
# - +:shown_fields+ ([ String ]) Names of fields to be shown (when +:show_fields+ is specified). Overrides +:hidden_fields+
|
75
|
+
# - +:truncate_width+ (Integer) Specifies a maximum width for the values of fields
|
76
|
+
# - +:deep_inspect+ (boolean) Causes fields' values to be obtained via their own +inspect+ methods
|
81
77
|
def self.make_inspect o, **options
|
82
78
|
|
83
79
|
r = ''
|
data/lib/xqsr3/doc_.rb
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
# Purpose: Documentation of the ::Xqsr3 modules
|
6
6
|
#
|
7
7
|
# Created: 10th June 2016
|
8
|
-
# Updated:
|
8
|
+
# Updated: 12th April 2019
|
9
9
|
#
|
10
10
|
# Home: http://github.com/synesissoftware/xqsr3
|
11
11
|
#
|
12
12
|
# Author: Matthew Wilson
|
13
13
|
#
|
14
|
-
# Copyright (c) 2016, Matthew Wilson and Synesis Software
|
14
|
+
# Copyright (c) 2016-2019, Matthew Wilson and Synesis Software
|
15
15
|
# All rights reserved.
|
16
16
|
#
|
17
17
|
# Redistribution and use in source and binary forms, with or without
|
@@ -58,24 +58,36 @@
|
|
58
58
|
# * ::Xqsr3::StringUtilities
|
59
59
|
module Xqsr3
|
60
60
|
|
61
|
+
# Array utilities
|
62
|
+
#
|
63
|
+
# === Subordinate modules of interest
|
64
|
+
# * ::Xqsr3::ArrayUtilities::JoinWithOr
|
65
|
+
module ArrayUtilities
|
66
|
+
end # module ArrayUtilities
|
67
|
+
|
61
68
|
# Command-line Utilities
|
62
69
|
#
|
63
70
|
# === Subordinate modules of interest
|
64
71
|
# * ::Xqsr3::CommandLineUtilities::MapOptionString
|
65
72
|
module CommandLineUtilities
|
66
|
-
|
67
73
|
end # module CommandLineUtilities
|
68
74
|
|
69
75
|
# Containers
|
70
76
|
#
|
71
77
|
module Containers
|
72
|
-
|
73
78
|
end # module Containers
|
74
79
|
|
80
|
+
# Conversion
|
81
|
+
#
|
82
|
+
module Conversion
|
83
|
+
end # module Conversion
|
84
|
+
|
75
85
|
# Diagnostic facilities
|
76
86
|
#
|
77
87
|
# === Subordinate modules of interest
|
78
88
|
# * ::Xqsr3::Diagnostics::ExceptionUtilities
|
89
|
+
# * ::Xqsr3::Diagnostics::InspectBuilder
|
90
|
+
# * ::Xqsr3::Diagnostics::Exceptions::WithCause
|
79
91
|
#
|
80
92
|
module Diagnostics
|
81
93
|
|
@@ -86,31 +98,148 @@ module Xqsr3
|
|
86
98
|
#
|
87
99
|
module ExceptionUtilities
|
88
100
|
end # module ExceptionUtilities
|
101
|
+
|
102
|
+
# Inspect builder
|
103
|
+
#
|
104
|
+
module InspectBuilder
|
105
|
+
end # module InspectBuilder
|
106
|
+
|
107
|
+
# Exception-related utilities
|
108
|
+
#
|
109
|
+
# === Components of interest
|
110
|
+
# * ::Xqsr3::Diagnostics::Exceptions::WithCause
|
111
|
+
#
|
112
|
+
module Exceptions
|
113
|
+
end # module Exceptions
|
89
114
|
end # module Diagnostics
|
90
115
|
|
91
|
-
#
|
116
|
+
# Hash utilities
|
92
117
|
#
|
93
|
-
|
118
|
+
# === Subordinate modules of interest
|
119
|
+
# * ::Xqsr3::HashUtilities::DeepTransform
|
120
|
+
# * ::Xqsr3::HashUtilities::KeyMatching
|
121
|
+
module HashUtilities
|
94
122
|
|
95
|
-
|
123
|
+
# Exception-related utilities
|
124
|
+
#
|
125
|
+
# === Components of interest
|
126
|
+
# * ::Xqsr3::Diagnostics::HashUtilities::deep_transform
|
127
|
+
# * ::Xqsr3::Diagnostics::HashUtilities::deep_transform!
|
128
|
+
#
|
129
|
+
module DeepTransform
|
130
|
+
end # module DeepTransform
|
131
|
+
end # module HashUtilities
|
132
|
+
|
133
|
+
# IO
|
134
|
+
#
|
135
|
+
class IO
|
136
|
+
end # class IO
|
96
137
|
|
97
138
|
# Quality
|
98
139
|
#
|
99
140
|
# === Subordinate modules of interest
|
100
141
|
# * ::Xqsr3::Quality::ParameterChecking
|
101
142
|
module Quality
|
102
|
-
|
103
143
|
end # module Quality
|
104
144
|
|
105
145
|
# String utilities
|
106
146
|
#
|
107
147
|
# === Subordinate modules of interest
|
148
|
+
# * ::Xqsr3::StringUtilities::EndsWith
|
149
|
+
# * ::Xqsr3::StringUtilities::NilIfEmpty
|
150
|
+
# * ::Xqsr3::StringUtilities::NilIfWhitespace
|
151
|
+
# * ::Xqsr3::StringUtilities::QuoteIf
|
152
|
+
# * ::Xqsr3::StringUtilities::StartsWith
|
108
153
|
# * ::Xqsr3::StringUtilities::ToSymbol
|
154
|
+
# * ::Xqsr3::StringUtilities::Truncate
|
109
155
|
module StringUtilities
|
110
156
|
|
157
|
+
=begin
|
158
|
+
module EndsWith
|
159
|
+
end # module EndsWith
|
160
|
+
module NilIfEmpty
|
161
|
+
end # module NilIfEmpty
|
162
|
+
module NilIfWhitespace
|
163
|
+
end # module NilIfWhitespace
|
164
|
+
module QuoteIf
|
165
|
+
end # module QuoteIf
|
166
|
+
module StartsWith
|
167
|
+
end # module StartsWith
|
168
|
+
module ToSymbol
|
169
|
+
end # module ToSymbol
|
170
|
+
module Truncate
|
171
|
+
end # module Truncate
|
172
|
+
=end
|
111
173
|
end # module StringUtilities
|
112
|
-
|
113
174
|
end # module Xqsr3
|
114
175
|
|
176
|
+
# Standard class, extended with methods:
|
177
|
+
#
|
178
|
+
# - Array#join_with_or
|
179
|
+
class Array; end
|
180
|
+
|
181
|
+
# Standard module, extended with methods:
|
182
|
+
#
|
183
|
+
# - Enumerable#collect_with_index
|
184
|
+
# - Enumerable#detect_map
|
185
|
+
# - Enumerable#unique
|
186
|
+
module Enumerable; end
|
187
|
+
|
188
|
+
# Standard class, extended with methods:
|
189
|
+
#
|
190
|
+
# - Hash#deep_transform
|
191
|
+
# - Hash#has_match?
|
192
|
+
# - Hash#match
|
193
|
+
class Hash; end
|
194
|
+
|
195
|
+
# Standard class, extended with methods:
|
196
|
+
#
|
197
|
+
# - IO#writelines
|
198
|
+
class IO; end
|
199
|
+
|
200
|
+
# Standard module, extended with methods:
|
201
|
+
#
|
202
|
+
# - Kernel::Integer
|
203
|
+
# - Kernel#raise_with_options
|
204
|
+
module Kernel; end
|
205
|
+
|
206
|
+
# Standard class, extended with methods:
|
207
|
+
#
|
208
|
+
# - String#ends_with?
|
209
|
+
# - String#map_option_string
|
210
|
+
# - String#nil_if_empty
|
211
|
+
# - String#nil_if_whitespace
|
212
|
+
# - String#quote_if
|
213
|
+
# - String#starts_with?
|
214
|
+
# - String#to_bool
|
215
|
+
# - String#to_symbol
|
216
|
+
# - String#truncate
|
217
|
+
class String; end
|
218
|
+
|
219
|
+
# Standard module
|
220
|
+
module Test
|
221
|
+
|
222
|
+
# Standard module
|
223
|
+
module Unit
|
224
|
+
|
225
|
+
# Standard module
|
226
|
+
#
|
227
|
+
# === Components of interest
|
228
|
+
# * ::Test::Unit::Assertions#assert_eql
|
229
|
+
# * ::Test::Unit::Assertions#assert_false
|
230
|
+
# * ::Test::Unit::Assertions#assert_not
|
231
|
+
# * ::Test::Unit::Assertions#assert_not_eql
|
232
|
+
# * ::Test::Unit::Assertions#assert_raise_with_message
|
233
|
+
# * ::Test::Unit::Assertions#assert_subclass_of
|
234
|
+
# * ::Test::Unit::Assertions#assert_superclass_of
|
235
|
+
# * ::Test::Unit::Assertions#assert_true
|
236
|
+
# * ::Test::Unit::Assertions#assert_type_has_instance_methods
|
237
|
+
module Assertions
|
238
|
+
end # module Assertions
|
239
|
+
end # module Unit
|
240
|
+
end # module Test
|
241
|
+
|
242
|
+
|
115
243
|
# ############################## end of file ############################# #
|
116
244
|
|
245
|
+
|