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