xqsr3 0.21.3 → 0.22.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c9936914cef9067c177b1b09269377d177462b12
4
- data.tar.gz: 8b042c8bb542a09423bf91a4d63ba94fcd3d506b
3
+ metadata.gz: 91fb18a7f4ffac6b0ad761c9d41dc29b325f172c
4
+ data.tar.gz: 06db1f1fb19d9afed8e77e65c1c4f543af6fdee6
5
5
  SHA512:
6
- metadata.gz: 74406b650004129620d0953bfa8831efd8a3c145b760494e8c6c07d1addfc8a3ca272d315726fe2dc183e66223044b2223b089e005a58adbc02e8d2275fe91ef
7
- data.tar.gz: c17199c88637ef514364a4941963824fcceaaec2c00551a36fc852ff433ed8f192ed47a7c0206b3ae81bc39862f1596ed73cec0aa6409f2668fbf0c38aad76c5
6
+ metadata.gz: 265250202da381835bb2a4d8fdde5197293dffc01f0fdf4da89fb51672883ec31ba1f6e1bfe01c2745e5b92dfaff417a50163be63e098bc328f1d82a2189a7d2
7
+ data.tar.gz: 85318de93eeb417cee8b49fe45455b19ad8a7d3a5c8d2467edb68b22ac7196c52c79c84a06435ec6ccda5a226e43001cc0594a9540e6f4ea05cb592743330a2a
@@ -0,0 +1,8 @@
1
+
2
+ require 'xqsr3/string_utilities/nil_if_empty'
3
+
4
+ class String
5
+
6
+ include ::Xqsr3::StringUtilities::NilIfEmpty
7
+ end # class String
8
+
@@ -0,0 +1,8 @@
1
+
2
+ require 'xqsr3/string_utilities/nil_if_whitespace'
3
+
4
+ class String
5
+
6
+ include ::Xqsr3::StringUtilities::NilIfWhitespace
7
+ end # class String
8
+
@@ -0,0 +1,94 @@
1
+
2
+ # ######################################################################## #
3
+ # File: lib/xqsr3/string_utilities/nil_if_empty.rb
4
+ #
5
+ # Purpose: Definition of the ::Xqsr3::StringUtilities::NilIfEmpty
6
+ # module
7
+ #
8
+ # Created: 25th January 2018
9
+ # Updated: 25th January 2018
10
+ #
11
+ # Home: http://github.com/synesissoftware/xqsr3
12
+ #
13
+ # Author: Matthew Wilson
14
+ #
15
+ # Copyright (c) 2018, Matthew Wilson and Synesis Software
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 names 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
+
47
+
48
+ # ##########################################################
49
+ # ::Xqsr3::StringUtilities::NilIfEmpty
50
+
51
+ =begin
52
+ =end
53
+
54
+ module Xqsr3
55
+ module StringUtilities
56
+
57
+ module NilIfEmpty
58
+
59
+ private
60
+ module NilIfEmpty_Helper_ #:nodoc:
61
+
62
+ def self.string_nil_if_empty_array_ s
63
+
64
+ return s if s && !s.empty?
65
+
66
+ nil
67
+ end
68
+ end
69
+ public
70
+
71
+ # Returns +nil+ if the given string is empty, otherwise returning the
72
+ # given string
73
+ #
74
+ # === *Parameters*
75
+ #
76
+ # * *Required parameters*:
77
+ # - +s+:: [String] The string to be evaluated
78
+ def self.string_nil_if_empty s
79
+
80
+ NilIfEmpty_Helper_.string_nil_if_empty_array_ s
81
+ end
82
+
83
+ def nil_if_empty
84
+
85
+ NilIfEmpty_Helper_.string_nil_if_empty_array_ self
86
+ end
87
+ end # module NilIfEmpty
88
+
89
+ end # module StringUtilities
90
+ end # module Xqsr3
91
+
92
+ # ############################## end of file ############################# #
93
+
94
+
@@ -0,0 +1,94 @@
1
+
2
+ # ######################################################################## #
3
+ # File: lib/xqsr3/string_utilities/nil_if_whitespace.rb
4
+ #
5
+ # Purpose: Definition of the ::Xqsr3::StringUtilities::NilIfWhitespace
6
+ # module
7
+ #
8
+ # Created: 25th January 2018
9
+ # Updated: 25th January 2018
10
+ #
11
+ # Home: http://github.com/synesissoftware/xqsr3
12
+ #
13
+ # Author: Matthew Wilson
14
+ #
15
+ # Copyright (c) 2018, Matthew Wilson and Synesis Software
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 names 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
+
47
+
48
+ # ##########################################################
49
+ # ::Xqsr3::StringUtilities::NilIfWhitespace
50
+
51
+ =begin
52
+ =end
53
+
54
+ module Xqsr3
55
+ module StringUtilities
56
+
57
+ module NilIfWhitespace
58
+
59
+ private
60
+ module NilIfWhitespace_Helper_ #:nodoc:
61
+
62
+ def self.string_nil_if_whitespace_array_ s
63
+
64
+ return nil if s.strip.empty?
65
+
66
+ s
67
+ end
68
+ end
69
+ public
70
+
71
+ # Returns +nil+ if the given string is empty or contains only whitespace,
72
+ # otherwise returning the given string
73
+ #
74
+ # === *Parameters*
75
+ #
76
+ # * *Required parameters*:
77
+ # - +s+:: [String] The string to be evaluated
78
+ def self.string_nil_if_whitespace s
79
+
80
+ NilIfWhitespace_Helper_.string_nil_if_whitespace_array_ s
81
+ end
82
+
83
+ def nil_if_whitespace
84
+
85
+ NilIfWhitespace_Helper_.string_nil_if_whitespace_array_ self
86
+ end
87
+ end # module NilIfWhitespace
88
+
89
+ end # module StringUtilities
90
+ end # module Xqsr3
91
+
92
+ # ############################## end of file ############################# #
93
+
94
+
data/lib/xqsr3/version.rb CHANGED
@@ -5,7 +5,7 @@
5
5
  # Purpose: Version for Xqsr3 library
6
6
  #
7
7
  # Created: 3rd April 2016
8
- # Updated: 8th January 2018
8
+ # Updated: 1st February 2018
9
9
  #
10
10
  # Home: http://github.com/synesissoftware/xqsr3
11
11
  #
@@ -50,7 +50,7 @@
50
50
  module Xqsr3
51
51
 
52
52
  # Current version of the Xqsr3 library
53
- VERSION = '0.21.3'
53
+ VERSION = '0.22.2'
54
54
 
55
55
  private
56
56
  VERSION_PARTS_ = VERSION.split(/[.]/).collect { |n| n.to_i } # :nodoc:
@@ -6,13 +6,13 @@
6
6
  # module
7
7
  #
8
8
  # Created: 30th July 2017
9
- # Updated: 1st November 2017
9
+ # Updated: 1st February 2018
10
10
  #
11
11
  # Home: http://github.com/synesissoftware/xqsr3
12
12
  #
13
13
  # Author: Matthew Wilson
14
14
  #
15
- # Copyright (c) 2017, Matthew Wilson and Synesis Software
15
+ # Copyright (c) 2017-2018, 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
@@ -149,6 +149,13 @@ module Compare
149
149
 
150
150
  r
151
151
  end
152
+
153
+ def to_s
154
+
155
+ return 'same' if same?
156
+
157
+ "different, because: #{details}"
158
+ end
152
159
  end
153
160
 
154
161
  module Internal_Compare_
@@ -0,0 +1,27 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ $:.unshift File.join(File.dirname(__FILE__), '../../../../lib')
4
+
5
+ require 'xqsr3/extensions/string/nil_if_empty'
6
+
7
+ require 'xqsr3/extensions/test/unit'
8
+ require 'test/unit'
9
+
10
+ require 'stringio'
11
+
12
+ class Test_String_nil_if_empty < Test::Unit::TestCase
13
+
14
+ def test_String_has_method
15
+
16
+ assert ''.respond_to? :nil_if_empty
17
+ end
18
+
19
+ def test_nil_if_empty
20
+
21
+ assert_nil ''.nil_if_empty
22
+ assert_equal ' ', ' '.nil_if_empty
23
+ assert_equal 'a', 'a'.nil_if_empty
24
+ end
25
+ end
26
+
27
+
@@ -0,0 +1,27 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ $:.unshift File.join(File.dirname(__FILE__), '../../../../lib')
4
+
5
+ require 'xqsr3/extensions/string/nil_if_whitespace'
6
+
7
+ require 'xqsr3/extensions/test/unit'
8
+ require 'test/unit'
9
+
10
+ require 'stringio'
11
+
12
+ class Test_String_nil_if_whitespace < Test::Unit::TestCase
13
+
14
+ def test_String_has_method
15
+
16
+ assert ''.respond_to? :nil_if_whitespace
17
+ end
18
+
19
+ def test_nil_if_whitespace
20
+
21
+ assert_nil ''.nil_if_whitespace
22
+ assert_nil ' '.nil_if_whitespace
23
+ assert_equal 'a', 'a'.nil_if_whitespace
24
+ end
25
+ end
26
+
27
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xqsr3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.3
4
+ version: 0.22.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Wilson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-08 00:00:00.000000000 Z
11
+ date: 2018-02-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  eXtensions by fine Quantum for Standard Ruby and 3rd-party libraries is a
@@ -46,6 +46,8 @@ files:
46
46
  - lib/xqsr3/extensions/string.rb
47
47
  - lib/xqsr3/extensions/string/ends_with.rb
48
48
  - lib/xqsr3/extensions/string/map_option_string.rb
49
+ - lib/xqsr3/extensions/string/nil_if_empty.rb
50
+ - lib/xqsr3/extensions/string/nil_if_whitespace.rb
49
51
  - lib/xqsr3/extensions/string/quote_if.rb
50
52
  - lib/xqsr3/extensions/string/starts_with.rb
51
53
  - lib/xqsr3/extensions/string/to_bool.rb
@@ -66,6 +68,8 @@ files:
66
68
  - lib/xqsr3/quality.rb
67
69
  - lib/xqsr3/quality/parameter_checking.rb
68
70
  - lib/xqsr3/string_utilities/ends_with.rb
71
+ - lib/xqsr3/string_utilities/nil_if_empty.rb
72
+ - lib/xqsr3/string_utilities/nil_if_whitespace.rb
69
73
  - lib/xqsr3/string_utilities/quote_if.rb
70
74
  - lib/xqsr3/string_utilities/starts_with.rb
71
75
  - lib/xqsr3/string_utilities/to_symbol.rb
@@ -98,6 +102,8 @@ files:
98
102
  - test/unit/extensions/string/tc_bool.tb
99
103
  - test/unit/extensions/string/tc_ends_with.rb
100
104
  - test/unit/extensions/string/tc_map_option_string.rb
105
+ - test/unit/extensions/string/tc_nil_if_empty.rb
106
+ - test/unit/extensions/string/tc_nil_if_whitespace.rb
101
107
  - test/unit/extensions/string/tc_quote_if.rb
102
108
  - test/unit/extensions/string/tc_starts_with.rb
103
109
  - test/unit/extensions/string/tc_to_symbol.rb