xqsr3 0.38.1.1 → 0.38.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/examples/count_word_frequencies.md +1 -1
  3. data/examples/count_word_frequencies.rb +1 -1
  4. data/lib/xqsr3/array_utilities/join_with_or.rb +9 -10
  5. data/lib/xqsr3/command_line_utilities/map_option_string.rb +9 -10
  6. data/lib/xqsr3/containers/frequency_map.rb +8 -7
  7. data/lib/xqsr3/containers/multi_map.rb +8 -7
  8. data/lib/xqsr3/conversion/bool_parser.rb +8 -9
  9. data/lib/xqsr3/conversion/integer_parser.rb +8 -9
  10. data/lib/xqsr3/diagnostics/exception_utilities.rb +9 -8
  11. data/lib/xqsr3/diagnostics/exceptions/with_cause.rb +11 -7
  12. data/lib/xqsr3/diagnostics/inspect_builder.rb +8 -8
  13. data/lib/xqsr3/doc_.rb +8 -8
  14. data/lib/xqsr3/extensions/enumerable/collect_with_index.rb +8 -7
  15. data/lib/xqsr3/extensions/enumerable/detect_map.rb +8 -8
  16. data/lib/xqsr3/extensions/enumerable/unique.rb +3 -3
  17. data/lib/xqsr3/extensions/io/writelines.rb +8 -8
  18. data/lib/xqsr3/extensions/kernel/integer.rb +8 -8
  19. data/lib/xqsr3/extensions/kernel/raise_with_options.rb +9 -8
  20. data/lib/xqsr3/extensions/string/map_option_string.rb +0 -1
  21. data/lib/xqsr3/extensions/string/quote_if.rb +0 -1
  22. data/lib/xqsr3/extensions/string/to_bool.rb +0 -1
  23. data/lib/xqsr3/extensions/string/truncate.rb +0 -1
  24. data/lib/xqsr3/extensions/test/unit/assert_eql.rb +2 -2
  25. data/lib/xqsr3/extensions/test/unit/assert_false.rb +1 -2
  26. data/lib/xqsr3/extensions/test/unit/assert_not.rb +0 -1
  27. data/lib/xqsr3/extensions/test/unit/assert_not_eql.rb +2 -2
  28. data/lib/xqsr3/extensions/test/unit/assert_raise_with_message.rb +0 -1
  29. data/lib/xqsr3/extensions/test/unit/assert_subclass_of.rb +0 -1
  30. data/lib/xqsr3/extensions/test/unit/assert_superclass_of.rb +0 -1
  31. data/lib/xqsr3/extensions/test/unit/assert_true.rb +1 -2
  32. data/lib/xqsr3/extensions/test/unit/assert_type_has_instance_methods.rb +0 -2
  33. data/lib/xqsr3/hash_utilities/deep_transform.rb +11 -11
  34. data/lib/xqsr3/hash_utilities/key_matching.rb +8 -8
  35. data/lib/xqsr3/internal_/test_unit_version_.rb +45 -3
  36. data/lib/xqsr3/io/writelines.rb +8 -8
  37. data/lib/xqsr3/quality/parameter_checking.rb +102 -103
  38. data/lib/xqsr3/string_utilities/ends_with.rb +8 -8
  39. data/lib/xqsr3/string_utilities/nil_if_empty.rb +8 -9
  40. data/lib/xqsr3/string_utilities/nil_if_whitespace.rb +9 -9
  41. data/lib/xqsr3/string_utilities/quote_if.rb +8 -9
  42. data/lib/xqsr3/string_utilities/starts_with.rb +8 -8
  43. data/lib/xqsr3/string_utilities/to_symbol.rb +8 -8
  44. data/lib/xqsr3/string_utilities/truncate.rb +8 -9
  45. data/lib/xqsr3/version.rb +9 -10
  46. data/test/performance/frequency_map.rb +1 -15
  47. data/test/scratch/test_assert_raise_with_message.rb +1 -2
  48. data/test/unit/array_utilities/tc_join_with_or.rb +0 -2
  49. data/test/unit/containers/tc_frequency_map.rb +56 -3
  50. data/test/unit/containers/tc_multi_map.rb +56 -5
  51. data/test/unit/conversion/tc_integer_parser.rb +1 -1
  52. data/test/unit/conversion/tc_to_bool.rb +1 -1
  53. data/test/unit/extensions/hash/tc_hash.rb +1 -1
  54. data/test/unit/extensions/hash/tc_slice.rb +1 -1
  55. data/test/unit/extensions/object/tc_inspect.rb +1 -1
  56. data/test/unit/io/tc_writelines.rb +0 -2
  57. data/test/unit/quality/tc_parameter_checking.rb +1 -1
  58. data/test/unit/string_utilities/tc_truncate.rb +1 -1
  59. metadata +2 -2
@@ -6,7 +6,7 @@ module Assertions
6
6
 
7
7
  unless respond_to? :assert_false
8
8
 
9
- # Assert that +expression+ is +false+
9
+ # Assert that +expression+ is +false+ (and not merely _falsey_)
10
10
  def assert_false(expression, failure_message = '')
11
11
 
12
12
  assert ::FalseClass === (expression), failure_message
@@ -17,4 +17,3 @@ end # class Assertions
17
17
  end # module Unit
18
18
  end # module Test
19
19
 
20
-
@@ -17,4 +17,3 @@ end # class Assertions
17
17
  end # module Unit
18
18
  end # module Test
19
19
 
20
-
@@ -6,7 +6,8 @@ module Assertions
6
6
 
7
7
  unless respond_to? :assert_not_eql
8
8
 
9
- # Assert that +expected+ and +actual+ have different hash keys
9
+ # Assert that +expected+ and +actual+ have different hash keys, as
10
+ # evaluated by the instance method +eq?+
10
11
  def assert_not_eql(expected, actual, failure_message = '')
11
12
 
12
13
  assert !(expected.eql?(actual)), failure_message
@@ -17,4 +18,3 @@ end # class Assertions
17
18
  end # module Unit
18
19
  end # module Test
19
20
 
20
-
@@ -115,4 +115,3 @@ end # module Test
115
115
 
116
116
  # ############################## end of file ############################# #
117
117
 
118
-
@@ -19,4 +19,3 @@ end # class Assertions
19
19
  end # module Unit
20
20
  end # module Test
21
21
 
22
-
@@ -19,4 +19,3 @@ end # class Assertions
19
19
  end # module Unit
20
20
  end # module Test
21
21
 
22
-
@@ -6,7 +6,7 @@ module Assertions
6
6
 
7
7
  unless respond_to? :assert_true
8
8
 
9
- # Assert that +expression+ is +true+
9
+ # Assert that +expression+ is +true+ (and not merely _truey_)
10
10
  def assert_true(expression, failure_message = '')
11
11
 
12
12
  assert ::TrueClass === (expression), failure_message
@@ -17,4 +17,3 @@ end # class Assertions
17
17
  end # module Unit
18
18
  end # module Test
19
19
 
20
-
@@ -61,5 +61,3 @@ end # class Assertions
61
61
  end # module Unit
62
62
  end # module Test
63
63
 
64
-
65
-
@@ -1,18 +1,18 @@
1
1
 
2
2
  # ######################################################################## #
3
- # File: lib/xqsr3/hash_utilities/deep_transform.rb
3
+ # File: lib/xqsr3/hash_utilities/deep_transform.rb
4
4
  #
5
- # Purpose: Definition of the ::Xqsr3::HashUtilities::DeepTransform
6
- # module
5
+ # Purpose: Definition of the Xqsr3::HashUtilities::DeepTransform module
7
6
  #
8
- # Created: 3rd June 2017
9
- # Updated: 14th March 2018
7
+ # Created: 3rd June 2017
8
+ # Updated: 11th December 2023
10
9
  #
11
- # Home: http://github.com/synesissoftware/xqsr3
10
+ # Home: http://github.com/synesissoftware/xqsr3
12
11
  #
13
- # Author: Matthew Wilson
12
+ # Author: Matthew Wilson
14
13
  #
15
- # Copyright (c) 2017-2018, Matthew Wilson and Synesis Software
14
+ # Copyright (c) 2019-2023, Matthew Wilson and Synesis Information Systems
15
+ # Copyright (c) 2017-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
@@ -26,7 +26,7 @@
26
26
  # notice, this list of conditions and the following disclaimer in the
27
27
  # documentation and/or other materials provided with the distribution.
28
28
  #
29
- # * Neither the names of the copyright holder nor the names of its
29
+ # * Neither the names of the copyright holders nor the names of its
30
30
  # contributors may be used to endorse or promote products derived from
31
31
  # this software without specific prior written permission.
32
32
  #
@@ -66,7 +66,7 @@ module DeepTransform
66
66
  case block.arity
67
67
  when 1
68
68
 
69
- h =
69
+ h =
70
70
  Hash[h.map do |k, v|
71
71
 
72
72
  k = k.deep_transform(&block) if ::Hash === k
@@ -76,7 +76,7 @@ module DeepTransform
76
76
  end]
77
77
  when 2
78
78
 
79
- h =
79
+ h =
80
80
  Hash[h.map do |k, v|
81
81
 
82
82
  k = k.deep_transform(&block) if ::Hash === k
@@ -1,17 +1,17 @@
1
1
 
2
2
  # ######################################################################## #
3
- # File: lib/xqsr3/hash_utilities/key_matching.rb
3
+ # File: lib/xqsr3/hash_utilities/key_matching.rb
4
4
  #
5
- # Purpose: Definition of the ::Xqsr3::HashUtilities::KeyMatching
6
- # module
5
+ # Purpose: Definition of the Xqsr3::HashUtilities::KeyMatching module
7
6
  #
8
- # Created: 15th November 2017
9
- # Updated: 15th April 2019
7
+ # Created: 15th November 2017
8
+ # Updated: 11th December 2023
10
9
  #
11
- # Home: http://github.com/synesissoftware/xqsr3
10
+ # Home: http://github.com/synesissoftware/xqsr3
12
11
  #
13
- # Author: Matthew Wilson
12
+ # Author: Matthew Wilson
14
13
  #
14
+ # Copyright (c) 2019-2023, Matthew Wilson and Synesis Information Systems
15
15
  # Copyright (c) 2017-2019, Matthew Wilson and Synesis Software
16
16
  # All rights reserved.
17
17
  #
@@ -26,7 +26,7 @@
26
26
  # notice, this list of conditions and the following disclaimer in the
27
27
  # documentation and/or other materials provided with the distribution.
28
28
  #
29
- # * Neither the names of the copyright holder nor the names of its
29
+ # * Neither the names of the copyright holders nor the names of its
30
30
  # contributors may be used to endorse or promote products derived from
31
31
  # this software without specific prior written permission.
32
32
  #
@@ -1,6 +1,49 @@
1
1
 
2
- # provides reliable mechanism for checking the version of the
3
- # Test::Unit module
2
+ # ######################################################################## #
3
+ # File: lib/xqsr3/internal_/test_unit_version_.rb
4
+ #
5
+ # Purpose: Provides reliable mechanism for checking the version of the
6
+ # Test::Unit module
7
+ #
8
+ # Created: March 2nd 2019
9
+ # Updated: 11th December 2023
10
+ #
11
+ # Home: http://github.com/synesissoftware/xqsr3
12
+ #
13
+ # Author: Matthew Wilson
14
+ #
15
+ # Copyright (c) 2019-2023, Matthew Wilson and Synesis Information Systems
16
+ # All rights reserved.
17
+ #
18
+ # Redistribution and use in source and binary forms, with or without
19
+ # modification, are permitted provided that the following conditions are
20
+ # met:
21
+ #
22
+ # * Redistributions of source code must retain the above copyright notice,
23
+ # this list of conditions and the following disclaimer.
24
+ #
25
+ # * Redistributions in binary form must reproduce the above copyright
26
+ # notice, this list of conditions and the following disclaimer in the
27
+ # documentation and/or other materials provided with the distribution.
28
+ #
29
+ # * Neither the name of the copyright holder nor the names of its
30
+ # contributors may be used to endorse or promote products derived from
31
+ # this software without specific prior written permission.
32
+ #
33
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
34
+ # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
35
+ # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
36
+ # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
37
+ # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
38
+ # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
39
+ # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
40
+ # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
41
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
42
+ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
43
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
44
+ #
45
+ # ######################################################################## #
46
+
4
47
 
5
48
  require 'test/unit'
6
49
 
@@ -137,4 +180,3 @@ end # module Xqsr3
137
180
 
138
181
  # ############################## end of file ############################# #
139
182
 
140
-
@@ -1,16 +1,17 @@
1
1
 
2
2
  # ######################################################################## #
3
- # File: lib/xqsr3/io/writelines.rb
3
+ # File: lib/xqsr3/io/writelines.rb
4
4
  #
5
- # Purpose: Adds a writelines() method to the IO module
5
+ # Purpose: Adds a writelines() method to the IO module
6
6
  #
7
- # Created: 13th April 2007
8
- # Updated: 31st October 2019
7
+ # Created: 13th April 2007
8
+ # Updated: 11th December 2023
9
9
  #
10
- # Home: http://github.com/synesissoftware/xqsr3
10
+ # Home: http://github.com/synesissoftware/xqsr3
11
11
  #
12
- # Author: Matthew Wilson
12
+ # Author: Matthew Wilson
13
13
  #
14
+ # Copyright (c) 2019-2023, Matthew Wilson and Synesis Information Systems
14
15
  # Copyright (c) 2007-2019, Matthew Wilson and Synesis Software
15
16
  # All rights reserved.
16
17
  #
@@ -25,7 +26,7 @@
25
26
  # notice, this list of conditions and the following disclaimer in the
26
27
  # documentation and/or other materials provided with the distribution.
27
28
  #
28
- # * Neither the names of the copyright holder nor the names of its
29
+ # * Neither the names of the copyright holders nor the names of its
29
30
  # contributors may be used to endorse or promote products derived from
30
31
  # this software without specific prior written permission.
31
32
  #
@@ -228,4 +229,3 @@ end # module Xqsr3
228
229
 
229
230
  # ############################## end of file ############################# #
230
231
 
231
-
@@ -1,17 +1,17 @@
1
1
 
2
2
  # ######################################################################## #
3
- # File: lib/xqsr3/quality/parameter_checking.rb
3
+ # File: lib/xqsr3/quality/parameter_checking.rb
4
4
  #
5
- # Purpose: Definition of the ParameterChecking module
5
+ # Purpose: Definition of the ParameterChecking module
6
6
  #
7
- # Created: 12th February 2015
8
- # Updated: 4th November 2023
7
+ # Created: 12th February 2015
8
+ # Updated: 1st January 2024
9
9
  #
10
- # Home: http://github.com/synesissoftware/xqsr3
10
+ # Home: http://github.com/synesissoftware/xqsr3
11
11
  #
12
- # Author: Matthew Wilson
12
+ # Author: Matthew Wilson
13
13
  #
14
- # Copyright (c) 2019-2023, Matthew Wilson and Synesis Information Systems
14
+ # Copyright (c) 2019-2024, Matthew Wilson and Synesis Information Systems
15
15
  # Copyright (c) 2016-2019, Matthew Wilson and Synesis Software
16
16
  # All rights reserved.
17
17
  #
@@ -26,7 +26,7 @@
26
26
  # notice, this list of conditions and the following disclaimer in the
27
27
  # documentation and/or other materials provided with the distribution.
28
28
  #
29
- # * Neither the names of the copyright holder nor the names of its
29
+ # * Neither the names of the copyright holders nor the names of its
30
30
  # contributors may be used to endorse or promote products derived from
31
31
  # this software without specific prior written permission.
32
32
  #
@@ -283,7 +283,6 @@ module ParameterChecking
283
283
  options ||= {}
284
284
  message = options[:message]
285
285
  treat_as_option = options[:treat_as_option]
286
- return_value = value
287
286
  param_s = treat_as_option ? 'option' : 'parameter'
288
287
  allow_nil = options[:allow_nil] || options[:nil]
289
288
 
@@ -464,6 +463,94 @@ module ParameterChecking
464
463
  end
465
464
  end
466
465
 
466
+ # run block
467
+
468
+ if value and block
469
+
470
+ warn "#{self}::check_parameter: block arity must be 1 or 2" unless (1..2).include? block.arity
471
+
472
+ r = nil
473
+
474
+ begin
475
+
476
+ if 1 == block.arity
477
+
478
+ r = block.call(value)
479
+ else
480
+
481
+ r = block.call(value, options)
482
+ end
483
+
484
+ rescue StandardError => x
485
+
486
+ xmsg = x.message || ''
487
+
488
+ if xmsg.empty?
489
+
490
+ xmsg ||= message
491
+
492
+ if xmsg.empty?
493
+
494
+ s_name = name.is_a?(String) ? "'#{name}' " : ''
495
+ xmsg = "#{param_s} #{s_name}failed validation against caller-supplied block"
496
+ end
497
+
498
+ raise $!, xmsg, $!.backtrace
499
+ end
500
+
501
+ raise
502
+ end
503
+
504
+ if r.is_a?(::Exception)
505
+
506
+ # An exception returned from the block, so raise it, with
507
+ # its message or a custom message
508
+
509
+ x = r
510
+ xmsg = x.message || ''
511
+
512
+ if xmsg.empty?
513
+
514
+ xmsg ||= message
515
+
516
+ if xmsg.empty?
517
+
518
+ s_name = name.is_a?(String) ? "'#{name}' " : ''
519
+ xmsg = "#{param_s} #{s_name}failed validation against caller-supplied block"
520
+ end
521
+
522
+ raise x, xmsg
523
+ end
524
+
525
+ raise x
526
+
527
+ elsif !r
528
+
529
+ failed_check = true
530
+
531
+ unless options[:nothrow]
532
+
533
+ s_name = name.is_a?(String) ? "'#{name}' " : ''
534
+ xmsg = "#{param_s} #{s_name}failed validation against caller-supplied block"
535
+
536
+ if value.is_a?(::Numeric)
537
+
538
+ raise RangeError, xmsg
539
+ else
540
+
541
+ raise ArgumentError, xmsg
542
+ end
543
+ end
544
+
545
+ elsif r.is_a?(::TrueClass)
546
+
547
+ ;
548
+ else
549
+
550
+ value = r
551
+ end
552
+ end
553
+
467
554
  # check value(s)
468
555
 
469
556
  unless value.nil? || !(values = options[:values])
@@ -479,13 +566,14 @@ module ParameterChecking
479
566
  case v
480
567
  when ::String
481
568
 
482
- return :string
569
+ :string
483
570
  when ::Array
484
571
 
485
- return :array_of_strings if v.all? { |s| ::String === s }
486
- end
572
+ :array_of_strings if v.all? { |s| ::String === s }
573
+ else
487
574
 
488
- nil
575
+ nil
576
+ end
489
577
  end : lambda { |v| nil }
490
578
 
491
579
  value_ic = do_case.call(value)
@@ -591,95 +679,7 @@ module ParameterChecking
591
679
  end
592
680
  end
593
681
 
594
- # run block
595
-
596
- if value and block
597
-
598
- warn "#{self}::check_parameter: block arity must be 1 or 2" unless (1..2).include? block.arity
599
-
600
- r = nil
601
-
602
- begin
603
-
604
- if 1 == block.arity
605
-
606
- r = block.call(value)
607
- else
608
-
609
- r = block.call(value, options)
610
- end
611
-
612
- rescue StandardError => x
613
-
614
- xmsg = x.message || ''
615
-
616
- if xmsg.empty?
617
-
618
- xmsg ||= message
619
-
620
- if xmsg.empty?
621
-
622
- s_name = name.is_a?(String) ? "'#{name}' " : ''
623
- xmsg = "#{param_s} #{s_name}failed validation against caller-supplied block"
624
- end
625
-
626
- raise $!, xmsg, $!.backtrace
627
- end
628
-
629
- raise
630
- end
631
-
632
- if r.is_a?(::Exception)
633
-
634
- # An exception returned from the block, so raise it, with
635
- # its message or a custom message
636
-
637
- x = r
638
- xmsg = x.message || ''
639
-
640
- if xmsg.empty?
641
-
642
- xmsg ||= message
643
-
644
- if xmsg.empty?
645
-
646
- s_name = name.is_a?(String) ? "'#{name}' " : ''
647
- xmsg = "#{param_s} #{s_name}failed validation against caller-supplied block"
648
- end
649
-
650
- raise x, xmsg
651
- end
652
-
653
- raise x
654
-
655
- elsif !r
656
-
657
- failed_check = true
658
-
659
- unless options[:nothrow]
660
-
661
- s_name = name.is_a?(String) ? "'#{name}' " : ''
662
- xmsg = "#{param_s} #{s_name}failed validation against caller-supplied block"
663
-
664
- if value.is_a?(::Numeric)
665
-
666
- raise RangeError, xmsg
667
- else
668
-
669
- raise ArgumentError, xmsg
670
- end
671
- end
672
-
673
- elsif r.is_a?(::TrueClass)
674
-
675
- ;
676
- else
677
-
678
- return_value = r
679
- end
680
- end
681
-
682
- failed_check ? nil : return_value
682
+ failed_check ? nil : value
683
683
  end
684
684
 
685
685
  end # module ParameterChecking
@@ -689,4 +689,3 @@ end # module Xqsr3
689
689
 
690
690
  # ############################## end of file ############################# #
691
691
 
692
-
@@ -1,17 +1,17 @@
1
1
 
2
2
  # ######################################################################## #
3
- # File: lib/xqsr3/string_utilities/ends_with.rb
3
+ # File: lib/xqsr3/string_utilities/ends_with.rb
4
4
  #
5
- # Purpose: Definition of the ::Xqsr3::StringUtilities::EndsWith
6
- # module
5
+ # Purpose: Definition of the Xqsr3::StringUtilities::EndsWith module
7
6
  #
8
- # Created: 13th April 2016
9
- # Updated: 15th April 2019
7
+ # Created: 13th April 2016
8
+ # Updated: 11th December 2023
10
9
  #
11
- # Home: http://github.com/synesissoftware/xqsr3
10
+ # Home: http://github.com/synesissoftware/xqsr3
12
11
  #
13
- # Author: Matthew Wilson
12
+ # Author: Matthew Wilson
14
13
  #
14
+ # Copyright (c) 2019-2023, Matthew Wilson and Synesis Information Systems
15
15
  # Copyright (c) 2016-2019, Matthew Wilson and Synesis Software
16
16
  # All rights reserved.
17
17
  #
@@ -26,7 +26,7 @@
26
26
  # notice, this list of conditions and the following disclaimer in the
27
27
  # documentation and/or other materials provided with the distribution.
28
28
  #
29
- # * Neither the names of the copyright holder nor the names of its
29
+ # * Neither the names of the copyright holders nor the names of its
30
30
  # contributors may be used to endorse or promote products derived from
31
31
  # this software without specific prior written permission.
32
32
  #
@@ -1,17 +1,17 @@
1
1
 
2
2
  # ######################################################################## #
3
- # File: lib/xqsr3/string_utilities/nil_if_empty.rb
3
+ # File: lib/xqsr3/string_utilities/nil_if_empty.rb
4
4
  #
5
- # Purpose: Definition of the ::Xqsr3::StringUtilities::NilIfEmpty
6
- # module
5
+ # Purpose: Definition of the Xqsr3::StringUtilities::NilIfEmpty module
7
6
  #
8
- # Created: 25th January 2018
9
- # Updated: 15th April 2019
7
+ # Created: 25th January 2018
8
+ # Updated: 11th December 2023
10
9
  #
11
- # Home: http://github.com/synesissoftware/xqsr3
10
+ # Home: http://github.com/synesissoftware/xqsr3
12
11
  #
13
- # Author: Matthew Wilson
12
+ # Author: Matthew Wilson
14
13
  #
14
+ # Copyright (c) 2019-2023, Matthew Wilson and Synesis Information Systems
15
15
  # Copyright (c) 2018-2019, Matthew Wilson and Synesis Software
16
16
  # All rights reserved.
17
17
  #
@@ -26,7 +26,7 @@
26
26
  # notice, this list of conditions and the following disclaimer in the
27
27
  # documentation and/or other materials provided with the distribution.
28
28
  #
29
- # * Neither the names of the copyright holder nor the names of its
29
+ # * Neither the names of the copyright holders nor the names of its
30
30
  # contributors may be used to endorse or promote products derived from
31
31
  # this software without specific prior written permission.
32
32
  #
@@ -97,4 +97,3 @@ end # module Xqsr3
97
97
 
98
98
  # ############################## end of file ############################# #
99
99
 
100
-
@@ -1,17 +1,18 @@
1
1
 
2
2
  # ######################################################################## #
3
- # File: lib/xqsr3/string_utilities/nil_if_whitespace.rb
3
+ # File: lib/xqsr3/string_utilities/nil_if_whitespace.rb
4
4
  #
5
- # Purpose: Definition of the ::Xqsr3::StringUtilities::NilIfWhitespace
6
- # module
5
+ # Purpose: Definition of the Xqsr3::StringUtilities::NilIfWhitespace
6
+ # module
7
7
  #
8
- # Created: 25th January 2018
9
- # Updated: 15th April 2019
8
+ # Created: 25th January 2018
9
+ # Updated: 11th December 2023
10
10
  #
11
- # Home: http://github.com/synesissoftware/xqsr3
11
+ # Home: http://github.com/synesissoftware/xqsr3
12
12
  #
13
- # Author: Matthew Wilson
13
+ # Author: Matthew Wilson
14
14
  #
15
+ # Copyright (c) 2019-2023, Matthew Wilson and Synesis Information Systems
15
16
  # Copyright (c) 2018-2019, Matthew Wilson and Synesis Software
16
17
  # All rights reserved.
17
18
  #
@@ -26,7 +27,7 @@
26
27
  # notice, this list of conditions and the following disclaimer in the
27
28
  # documentation and/or other materials provided with the distribution.
28
29
  #
29
- # * Neither the names of the copyright holder nor the names of its
30
+ # * Neither the names of the copyright holders nor the names of its
30
31
  # contributors may be used to endorse or promote products derived from
31
32
  # this software without specific prior written permission.
32
33
  #
@@ -98,4 +99,3 @@ end # module Xqsr3
98
99
 
99
100
  # ############################## end of file ############################# #
100
101
 
101
-
@@ -1,17 +1,17 @@
1
1
 
2
2
  # ######################################################################## #
3
- # File: lib/xqsr3/string_utilities/quote_if.rb
3
+ # File: lib/xqsr3/string_utilities/quote_if.rb
4
4
  #
5
- # Purpose: Definition of the ::Xqsr3::StringUtilities::QuoteIf
6
- # module
5
+ # Purpose: Definition of the Xqsr3::StringUtilities::QuoteIf module
7
6
  #
8
- # Created: 3rd June 2017
9
- # Updated: 15th April 2019
7
+ # Created: 3rd June 2017
8
+ # Updated: 11th December 2023
10
9
  #
11
- # Home: http://github.com/synesissoftware/xqsr3
10
+ # Home: http://github.com/synesissoftware/xqsr3
12
11
  #
13
- # Author: Matthew Wilson
12
+ # Author: Matthew Wilson
14
13
  #
14
+ # Copyright (c) 2019-2023, Matthew Wilson and Synesis Information Systems
15
15
  # Copyright (c) 2017-2019, Matthew Wilson and Synesis Software
16
16
  # All rights reserved.
17
17
  #
@@ -26,7 +26,7 @@
26
26
  # notice, this list of conditions and the following disclaimer in the
27
27
  # documentation and/or other materials provided with the distribution.
28
28
  #
29
- # * Neither the names of the copyright holder nor the names of its
29
+ # * Neither the names of the copyright holders nor the names of its
30
30
  # contributors may be used to endorse or promote products derived from
31
31
  # this software without specific prior written permission.
32
32
  #
@@ -125,4 +125,3 @@ end # module Xqsr3
125
125
 
126
126
  # ############################## end of file ############################# #
127
127
 
128
-