xqsr3 0.32.2 → 0.32.3

This diff has not been reviewed by any users.
Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/lib/xqsr3/array_utilities/join_with_or.rb +7 -14
  3. data/lib/xqsr3/command_line_utilities/map_option_string.rb +19 -7
  4. data/lib/xqsr3/containers/frequency_map.rb +1 -1
  5. data/lib/xqsr3/containers/multi_map.rb +28 -0
  6. data/lib/xqsr3/conversion/bool_parser.rb +11 -14
  7. data/lib/xqsr3/conversion/integer_parser.rb +7 -14
  8. data/lib/xqsr3/diagnostics/exception_utilities.rb +2 -2
  9. data/lib/xqsr3/diagnostics/exceptions/with_cause.rb +15 -7
  10. data/lib/xqsr3/diagnostics/inspect_builder.rb +11 -15
  11. data/lib/xqsr3/doc_.rb +138 -9
  12. data/lib/xqsr3/extensions/array/join_with_or.rb +6 -0
  13. data/lib/xqsr3/extensions/enumerable/collect_with_index.rb +5 -4
  14. data/lib/xqsr3/extensions/enumerable/detect_map.rb +6 -7
  15. data/lib/xqsr3/extensions/hash/has_match.rb +7 -0
  16. data/lib/xqsr3/extensions/hash/match.rb +7 -0
  17. data/lib/xqsr3/extensions/kernel/integer.rb +6 -13
  18. data/lib/xqsr3/extensions/string/to_bool.rb +4 -0
  19. data/lib/xqsr3/extensions/test/unit/assert_eql.rb +1 -0
  20. data/lib/xqsr3/extensions/test/unit/assert_false.rb +1 -0
  21. data/lib/xqsr3/extensions/test/unit/assert_not.rb +1 -0
  22. data/lib/xqsr3/extensions/test/unit/assert_not_eql.rb +1 -0
  23. data/lib/xqsr3/extensions/test/unit/assert_raise_with_message.rb +5 -2
  24. data/lib/xqsr3/extensions/test/unit/assert_subclass_of.rb +1 -0
  25. data/lib/xqsr3/extensions/test/unit/assert_superclass_of.rb +1 -0
  26. data/lib/xqsr3/extensions/test/unit/assert_true.rb +1 -0
  27. data/lib/xqsr3/extensions/test/unit/assert_type_has_instance_methods.rb +3 -12
  28. data/lib/xqsr3/hash_utilities/deep_transform.rb +2 -2
  29. data/lib/xqsr3/internal_/test_unit_version_.rb +4 -4
  30. data/lib/xqsr3/io/writelines.rb +6 -6
  31. data/lib/xqsr3/quality/parameter_checking.rb +50 -77
  32. data/lib/xqsr3/string_utilities/ends_with.rb +14 -6
  33. data/lib/xqsr3/string_utilities/nil_if_empty.rb +6 -3
  34. data/lib/xqsr3/string_utilities/nil_if_whitespace.rb +7 -3
  35. data/lib/xqsr3/string_utilities/quote_if.rb +10 -13
  36. data/lib/xqsr3/string_utilities/starts_with.rb +22 -5
  37. data/lib/xqsr3/string_utilities/to_symbol.rb +23 -5
  38. data/lib/xqsr3/string_utilities/truncate.rb +19 -4
  39. data/lib/xqsr3/version.rb +1 -1
  40. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d08b7ea53bfd21226d79bb36506890a7868ba93b
4
- data.tar.gz: c4d23e493010555d8c3cfb27c515b469a47dd29f
3
+ metadata.gz: 5362a61770df81001025713c2465c5ed9bea6a49
4
+ data.tar.gz: 70f643bccc5e09b76acf3a4944e02dbe0e763d6a
5
5
  SHA512:
6
- metadata.gz: 34a1d293c2de8559801ec22e038a4e7fc33a7d6da5901411d84f1aa6ca67cd22295f690ecc501b166e9aa8777f5b00408473b467782ff129ebade29e0a0e15e0
7
- data.tar.gz: 9e9a153905629a84437e69ea297ca7bbc843542a3ab90b35997d1e79d816ded0d90d2c2e8381c9db13ca6ffe6a4a8ae0691c2db5a7b4478a58efef4dc2e52ee4
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
- # * *Required parameters*:
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
- # - +:or+:: [String] A string that is used instead of 'or'
79
- # - +:oxford_comma+:: [boolean] Determines whether an Oxford comma
80
- # will be used. Default is +true+
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: 2nd August 2017
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-2017, Matthew Wilson and Synesis Software
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
- # Facilities for mapping strings to options
59
+ # +include+-able module providing facilities for mapping strings to options
60
60
  #
61
61
  # === Components of interest
62
- # * ::Xqsr3::CommandLineUtilities::MapOptionString.map_option_string
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
+
@@ -163,7 +163,7 @@ class FrequencyMap
163
163
  # Pushes an element into the map, assigning it an initial count of 1
164
164
  #
165
165
  # * *Parameters:*
166
- # - +key+:: The element to insert
166
+ # - +key+ The element to insert
167
167
  def << key
168
168
 
169
169
  push key, 1
@@ -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 String to a Boolean value, based on the
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
- # - +options+:: An options hash, containing any of the following options
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+:: [::Array] An array of strings or regular
85
- # expressions against which to match for false value. Defaults to
86
- # +DEFAULT_FALSE_VALUES+
87
- # - +:true_values+:: [::Array] An array of strings or regular
88
- # expressions against which to match for true value. Defaults to
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+:: The argument to be converted (to +Fixnum+ or +Bignum+)
160
- # - +base+:: A value of 0, or between 2 and 36. Defaults to 0
161
- # - +options+:: An options hash, containing any of the following
162
- # options
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+:: A default value to be used when +arg+ is +nil+ or
171
- # cannot be converted by (the original) +Kernel#Integer+
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
@@ -100,8 +100,8 @@ module ExceptionUtilities
100
100
  #
101
101
  # === Parameters
102
102
  #
103
- # * +args+:: 0 or more arguments
104
- # * +options+:: An options hash
103
+ # * +args+ 0 or more arguments
104
+ # * +options+ An options hash
105
105
  #
106
106
  # === Parameter Interpretation
107
107
  #
@@ -5,13 +5,13 @@
5
5
  # Purpose: Definition of the WithCause inclusion module
6
6
  #
7
7
  # Created: 16th December 2017
8
- # Updated: 5th September 2018
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-2018, Matthew Wilson and Synesis Software
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
- # - +option+::
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: 5th September 2018
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
- # @param +o+:: The target of the +inspect+ message for which a message
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
- # @option +:no_class+:: (boolean) Elides the class qualification
71
- # @option +:no_object_id+:: (boolean) Elides the object id
72
- # @option +:show_fields+:: (boolean) Shows (all) object fields
73
- # @option +:hidden_fields+:: ([ String ]) Names of fields to be omitted
74
- # (when +:show_fields+ is specified). Overridden by +:shown_fields+
75
- # @option +:shown_fields+:: ([ String ]) Names of fields to be shown
76
- # (when +:show_fields+ is specified). Overrides +:hidden_fields+
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 = ''
@@ -5,13 +5,13 @@
5
5
  # Purpose: Documentation of the ::Xqsr3 modules
6
6
  #
7
7
  # Created: 10th June 2016
8
- # Updated: 10th June 2016
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
- # IO
116
+ # Hash utilities
92
117
  #
93
- module IO
118
+ # === Subordinate modules of interest
119
+ # * ::Xqsr3::HashUtilities::DeepTransform
120
+ # * ::Xqsr3::HashUtilities::KeyMatching
121
+ module HashUtilities
94
122
 
95
- end # module IO
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
+