xqsr3 0.32.2 → 0.32.3

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
+