xqsr3 0.38.1 → 0.38.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. checksums.yaml +5 -5
  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 +105 -105
  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 +6 -7
@@ -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: 22nd July 2022
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-2022, 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
  #
@@ -54,8 +54,9 @@
54
54
  module Xqsr3
55
55
  module Quality
56
56
 
57
- # Inclusion module that creates class and instance methods +check_parameter+
58
- # that may be used to check parameter values and types
57
+ # Inclusion module that creates class and instance methods +check_option()+
58
+ # and +check_parameter()+ that may be used to check option/parameter values
59
+ # and types.
59
60
  #
60
61
  module ParameterChecking
61
62
 
@@ -282,7 +283,6 @@ module ParameterChecking
282
283
  options ||= {}
283
284
  message = options[:message]
284
285
  treat_as_option = options[:treat_as_option]
285
- return_value = value
286
286
  param_s = treat_as_option ? 'option' : 'parameter'
287
287
  allow_nil = options[:allow_nil] || options[:nil]
288
288
 
@@ -463,6 +463,94 @@ module ParameterChecking
463
463
  end
464
464
  end
465
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
+
466
554
  # check value(s)
467
555
 
468
556
  unless value.nil? || !(values = options[:values])
@@ -478,13 +566,14 @@ module ParameterChecking
478
566
  case v
479
567
  when ::String
480
568
 
481
- return :string
569
+ :string
482
570
  when ::Array
483
571
 
484
- return :array_of_strings if v.all? { |s| ::String === s }
485
- end
572
+ :array_of_strings if v.all? { |s| ::String === s }
573
+ else
486
574
 
487
- nil
575
+ nil
576
+ end
488
577
  end : lambda { |v| nil }
489
578
 
490
579
  value_ic = do_case.call(value)
@@ -590,95 +679,7 @@ module ParameterChecking
590
679
  end
591
680
  end
592
681
 
593
- # run block
594
-
595
- if value and block
596
-
597
- warn "#{self}::check_parameter: block arity must be 1 or 2" unless (1..2).include? block.arity
598
-
599
- r = nil
600
-
601
- begin
602
-
603
- if 1 == block.arity
604
-
605
- r = block.call(value)
606
- else
607
-
608
- r = block.call(value, options)
609
- end
610
-
611
- rescue StandardError => x
612
-
613
- xmsg = x.message || ''
614
-
615
- if xmsg.empty?
616
-
617
- xmsg ||= message
618
-
619
- if xmsg.empty?
620
-
621
- s_name = name.is_a?(String) ? "'#{name}' " : ''
622
- xmsg = "#{param_s} #{s_name}failed validation against caller-supplied block"
623
- end
624
-
625
- raise $!, xmsg, $!.backtrace
626
- end
627
-
628
- raise
629
- end
630
-
631
- if r.is_a?(::Exception)
632
-
633
- # An exception returned from the block, so raise it, with
634
- # its message or a custom message
635
-
636
- x = r
637
- xmsg = x.message || ''
638
-
639
- if xmsg.empty?
640
-
641
- xmsg ||= message
642
-
643
- if xmsg.empty?
644
-
645
- s_name = name.is_a?(String) ? "'#{name}' " : ''
646
- xmsg = "#{param_s} #{s_name}failed validation against caller-supplied block"
647
- end
648
-
649
- raise x, xmsg
650
- end
651
-
652
- raise x
653
-
654
- elsif !r
655
-
656
- failed_check = true
657
-
658
- unless options[:nothrow]
659
-
660
- s_name = name.is_a?(String) ? "'#{name}' " : ''
661
- xmsg = "#{param_s} #{s_name}failed validation against caller-supplied block"
662
-
663
- if value.is_a?(::Numeric)
664
-
665
- raise RangeError, xmsg
666
- else
667
-
668
- raise ArgumentError, xmsg
669
- end
670
- end
671
-
672
- elsif r.is_a?(::TrueClass)
673
-
674
- ;
675
- else
676
-
677
- return_value = r
678
- end
679
- end
680
-
681
- failed_check ? nil : return_value
682
+ failed_check ? nil : value
682
683
  end
683
684
 
684
685
  end # module ParameterChecking
@@ -688,4 +689,3 @@ end # module Xqsr3
688
689
 
689
690
  # ############################## end of file ############################# #
690
691
 
691
-
@@ -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
-