cmpfs-ruby 0.2.0 → 0.2.1.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
- SHA1:
3
- metadata.gz: 7a5d807fbdecc4dcd49ac7cdda8b3de14cfa1249
4
- data.tar.gz: 19ad4d748a6811d1dca9a4974ec4962fbf7477a1
2
+ SHA256:
3
+ metadata.gz: 46fb5f08ba76dfb2e7850d848f46c57016635721b445974b280a8247d7d93ac0
4
+ data.tar.gz: 60baeea6023c1d8178ecfc5c54b3f8ab8fe9e2b562773785b5453c2a868d560a
5
5
  SHA512:
6
- metadata.gz: b8764ee5e224d4be12e69e73086bb576aa211e6cf02d4c98a230e46c75e98c37ca4bdafb739ca07ffa43d3756633650c5a79833774a284d2d8632be64e0355ad
7
- data.tar.gz: 8bddd4fa549ed5c977c0fbeb4d564be20fc394be832ad37c0c2c9e2226cb8df04cbdf35742c7f75a48751ffbd365b7d65e0d8bfc0947b0c23367d0e4745256d8
6
+ metadata.gz: ed2d57ba6d485a995ef08244373e7518a2212fff1560cc23be8809100200a83759c37416c4e9a37e5dc878ad5facf58d99b1baef9221d350ecf828b8b6711151
7
+ data.tar.gz: e9b77bf3cb58c210afbc64db805a2a7898a0fd8507a8f2e470df66cdbdd58c5799c8ec68bd0e23f832d30d5e16ff030ea81965e958804b35d1e2eec1efab6ee7
data/LICENSE CHANGED
@@ -1,31 +1,32 @@
1
1
  cmpfs.Ruby
2
2
 
3
+ Copyright (c) 2019-2024, Matthew Wilson and Synesis Information Systems
3
4
  Copyright (c) 2019, Matthew Wilson and Synesis Software
4
5
  All rights reserved.
5
6
 
6
7
  Redistribution and use in source and binary forms, with or without
7
8
  modification, are permitted provided that the following conditions are met:
8
9
 
9
- * Redistributions of source code must retain the above copyright notice, this
10
- list of conditions and the following disclaimer.
10
+ * Redistributions of source code must retain the above copyright notice,
11
+ this list of conditions and the following disclaimer.
11
12
 
12
13
  * Redistributions in binary form must reproduce the above copyright notice,
13
14
  this list of conditions and the following disclaimer in the documentation
14
15
  and/or other materials provided with the distribution.
15
16
 
16
- * Neither the names of cmpfs or cmpfs.Ruby nor the names of the copyright
17
- holder nor the names of its contributors may be used to endorse or promote
18
- products derived from this software without specific prior written
19
- permission.
17
+ * Neither the names of cmpfs or cmpfs.Ruby nor the names of its contributors
18
+ or its copyright holders may be used to endorse or promote products
19
+ derived from this software without specific prior written permission.
20
20
 
21
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
22
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
25
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
+ POSSIBILITY OF SUCH DAMAGE.
31
32
 
data/README.md CHANGED
@@ -1,29 +1,144 @@
1
- # cmpfs.Ruby
1
+ # cmpfs.Ruby <!-- omit in toc -->
2
+
2
3
  **Com**pare **F**ile-**S**ystem entities, for **Ruby**
3
4
 
5
+ [![Gem Version](https://badge.fury.io/rb/cmpfs-ruby.svg)](https://badge.fury.io/rb/cmpfs-ruby)
6
+
7
+
4
8
  ## Introduction
5
9
 
6
- T.B.C.
10
+ Provides platform-independent facilities for comparing file contents, for both binary and text files
7
11
 
8
- ## Table of Contents
9
12
 
10
- 1. [Introduction](#introduction)
11
- 2. [Installation](#installation)
12
- 3. [Components](#components)
13
- 4. [Examples](#examples)
14
- 5. [Project Information](#project-information)
13
+ ## Table of Contents <!-- omit in toc -->
14
+
15
+ - [Introduction](#introduction)
16
+ - [Installation](#installation)
17
+ - [Components](#components)
18
+ - [Examples](#examples)
19
+ - [Project Information](#project-information)
20
+ - [Where to get help](#where-to-get-help)
21
+ - [Contribution guidelines](#contribution-guidelines)
22
+ - [Dependencies](#dependencies)
23
+ - [Related projects](#related-projects)
24
+ - [License](#license)
25
+
15
26
 
16
27
  ## Installation
17
28
 
18
29
  Install using `gem install cmpfs-ruby` or add it to your `Gemfile`.
19
30
 
31
+
20
32
  ## Components
21
33
 
22
- T.B.C.
34
+ The primary components provided are the functions:
35
+
36
+ * `CmpFS::Compare.compare_binary_files()`
37
+ * `CmpFS::Compare.compare_binary_streams()`
38
+ * `CmpFS::Compare.compare_binary()`
39
+ * `CmpFS::Compare.compare_text_files()`
40
+ * `CmpFS::Compare.compare_text_streams()`
41
+ * `CmpFS::Compare.compare_text()`
42
+
43
+ all of which are obtained when `extend`ing or `include`ing the `CmpFS` module.
44
+
23
45
 
24
46
  ## Examples
25
47
 
26
- T.B.C.
48
+ **examples/compare_two_binary_files.rb**:
49
+ ```Ruby
50
+ #! /usr/bin/env ruby
51
+
52
+ $:.unshift File.join(File.dirname(__FILE__), '../lib')
53
+
54
+
55
+ require 'cmpfs'
56
+
57
+
58
+ include CmpFS
59
+
60
+
61
+ # command-line handling
62
+
63
+ lhs_path, rhs_path =
64
+ case ARGV.size
65
+ when 0, 1
66
+
67
+ if '--help' == ARGV[0]
68
+
69
+ $stdout.puts "#$0: <lhs-path> <rhs-path>"
70
+
71
+ exit 0
72
+ end
73
+
74
+ abort "#$0: not enough arguments; use --help for usage"
75
+ when 2
76
+
77
+ ARGV[0..2]
78
+ else
79
+
80
+ abort "#$0: too many arguments; use --help for usage"
81
+ end
82
+
83
+
84
+ # main()
85
+
86
+
87
+ $stdout.puts "binary comparison of '#{lhs_path}' with '#{rhs_path}':"
88
+
89
+ $stdout.puts "files are #{compare_binary(lhs_path, rhs_path) ? '' : 'not '}equal"
90
+
91
+
92
+ # ############################## end of file ############################# #
93
+ ```
94
+
95
+ **examples/compare_two_text_files.rb**:
96
+ ```Ruby
97
+ #! /usr/bin/env ruby
98
+
99
+ $:.unshift File.join(File.dirname(__FILE__), '../lib')
100
+
101
+
102
+ require 'cmpfs'
103
+
104
+
105
+ include CmpFS
106
+
107
+
108
+ # command-line handling
109
+
110
+ lhs_path, rhs_path =
111
+ case ARGV.size
112
+ when 0, 1
113
+
114
+ if '--help' == ARGV[0]
115
+
116
+ $stdout.puts "#$0: <lhs-path> <rhs-path>"
117
+
118
+ exit 0
119
+ end
120
+
121
+ abort "#$0: not enough arguments; use --help for usage"
122
+ when 2
123
+
124
+ ARGV[0..2]
125
+ else
126
+
127
+ abort "#$0: too many arguments; use --help for usage"
128
+ end
129
+
130
+
131
+ # main()
132
+
133
+
134
+ $stdout.puts "text comparison of '#{lhs_path}' with '#{rhs_path}':"
135
+
136
+ $stdout.puts "files are #{compare_text(lhs_path, rhs_path, skip_blank_lines: true, trim_lines: true) ? '' : 'not '}equal"
137
+
138
+
139
+ # ############################## end of file ############################# #
140
+ ```
141
+
27
142
 
28
143
  ## Project Information
29
144
 
@@ -31,17 +146,24 @@ T.B.C.
31
146
 
32
147
  [GitHub Page](https://github.com/synesissoftware/cmpfs.Ruby "GitHub Page")
33
148
 
149
+
34
150
  ### Contribution guidelines
35
151
 
36
152
  Defect reports, feature requests, and pull requests are welcome on https://github.com/synesissoftware/cmpfs.Ruby.
37
153
 
154
+
38
155
  ### Dependencies
39
156
 
157
+
40
158
  ### Related projects
41
159
 
42
160
  T.B.C.
43
161
 
162
+
44
163
  ### License
45
164
 
46
- **cmpfs.Gp** is released under the 3-clause BSD license. See [LICENSE](./LICENSE) for details.
165
+ **cmpfs.Ruby** is released under the 3-clause BSD license. See [LICENSE](./LICENSE) for details.
166
+
167
+
168
+ <!-- ########################### end of file ########################### -->
47
169
 
@@ -0,0 +1,44 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ $:.unshift File.join(File.dirname(__FILE__), '../lib')
4
+
5
+
6
+ require 'cmpfs'
7
+
8
+
9
+ include CmpFS
10
+
11
+
12
+ # command-line handling
13
+
14
+ lhs_path, rhs_path =
15
+ case ARGV.size
16
+ when 0, 1
17
+
18
+ if '--help' == ARGV[0]
19
+
20
+ $stdout.puts "#$0: <lhs-path> <rhs-path>"
21
+
22
+ exit 0
23
+ end
24
+
25
+ abort "#$0: not enough arguments; use --help for usage"
26
+ when 2
27
+
28
+ ARGV[0..2]
29
+ else
30
+
31
+ abort "#$0: too many arguments; use --help for usage"
32
+ end
33
+
34
+
35
+ # main()
36
+
37
+
38
+ $stdout.puts "binary comparison of '#{lhs_path}' with '#{rhs_path}':"
39
+
40
+ $stdout.puts "files are #{compare_binary(lhs_path, rhs_path) ? '' : 'not '}equal"
41
+
42
+
43
+ # ############################## end of file ############################# #
44
+
@@ -0,0 +1,44 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ $:.unshift File.join(File.dirname(__FILE__), '../lib')
4
+
5
+
6
+ require 'cmpfs'
7
+
8
+
9
+ include CmpFS
10
+
11
+
12
+ # command-line handling
13
+
14
+ lhs_path, rhs_path =
15
+ case ARGV.size
16
+ when 0, 1
17
+
18
+ if '--help' == ARGV[0]
19
+
20
+ $stdout.puts "#$0: <lhs-path> <rhs-path>"
21
+
22
+ exit 0
23
+ end
24
+
25
+ abort "#$0: not enough arguments; use --help for usage"
26
+ when 2
27
+
28
+ ARGV[0..2]
29
+ else
30
+
31
+ abort "#$0: too many arguments; use --help for usage"
32
+ end
33
+
34
+
35
+ # main()
36
+
37
+
38
+ $stdout.puts "text comparison of '#{lhs_path}' with '#{rhs_path}':"
39
+
40
+ $stdout.puts "files are #{compare_text(lhs_path, rhs_path, skip_blank_lines: true, trim_lines: true) ? '' : 'not '}equal"
41
+
42
+
43
+ # ############################## end of file ############################# #
44
+
@@ -1,139 +1,161 @@
1
1
 
2
2
  if RUBY_VERSION >= '2'
3
3
 
4
- abort "This file required Ruby 1+: RUBY_VERSION='#{RUBY_VERSION}'"
4
+ abort "This file required Ruby 1+: RUBY_VERSION='#{RUBY_VERSION}'"
5
5
  end
6
6
 
7
7
  require 'cmpfs/compare/binary/internal_'
8
8
  require 'cmpfs/compare/text/internal_'
9
9
 
10
+
10
11
  module CmpFS
11
12
  module Compare
12
13
 
13
14
  module CmpFS_Compare_Methods
14
15
 
15
- # Compares two files, named by +lhs_path+ and +rhs_path+, in a binary
16
- # (exact) manner
17
- def compare_binary_files lhs_path, rhs_path, options = {}
18
-
19
- options ||= {}
20
-
21
- ::CmpFS::Compare::Binary::Internal_.compare_binary_files_ lhs_path, rhs_path, options
22
- end
23
-
24
- # Compares two streams, +lhs_stm+ and +rhs_stm+, in a binary
25
- # (exact) manner
26
- def compare_binary_streams lhs_stm, rhs_stm, options = {}
27
-
28
- options ||= {}
29
-
30
- ::CmpFS::Compare::Binary::Internal_.compare_binary_streams_ lhs_stm, rhs_stm, options
31
- end
32
-
33
- # Compares two files/streams in a binary (exact) manner
34
- #
35
- # == Signature
36
- #
37
- # == Return
38
- #
39
- # +true+ if the files/streams have exactly the same content; +false+
40
- # otherwise.
41
- def compare_binary lhs, rhs, options = {}
42
-
43
- options ||= {}
44
-
45
- ::CmpFS::Compare::Binary::Internal_.compare_binary_ lhs, rhs, options
46
- end
47
-
48
-
49
- # Compares two files, named by +lhs_path+ and +rhs_path+, in a textual
50
- # manner according to the given +options+
51
- #
52
- # === Signature
53
- #
54
- # * *Parameters:*
55
- # - +lhs_path+:: (String) The name of a file
56
- # - +rhs_path+:: (String) The name of a file
57
- # - +options+:: (Hash) Options
58
- #
59
- # * *Options:*
60
- # - +:skip_blank_lines+:: (boolean) Determines whether blank lines
61
- # should be skipped from the comparison
62
- # - +:trim_lines+:: (boolean) Determines whether lines should be
63
- # trimmed of leading and trailing space (including EOL sequence)
64
- #
65
- # === Return
66
- #
67
- # +true+ if the files/streams have exactly the same content; +false+
68
- # otherwise.
69
- def compare_text_files lhs_path, rhs_path, options = {}
70
-
71
- options |= {}
72
-
73
- ::CmpFS::Compare::Text::Internal_.compare_text_files_ lhs_path, rhs_path, options
74
- end
75
-
76
- # Compares two streams, named by +lhs_stm+ and +rhs_stm+, in a textual
77
- # manner according to the given +options+
78
- #
79
- # === Signature
80
- #
81
- # * *Parameters:*
82
- # - +lhs_stm+:: (stream) A stream object
83
- # - +rhs_stm+:: (stream) A stream object
84
- # - +options+:: (Hash) Options
85
- #
86
- # * *Options:*
87
- # - +:no_rewind+:: (boolean) Prevents the default behaviour of
88
- # rewinding the stream before processing
89
- # - +:skip_blank_lines+:: (boolean) Determines whether blank lines
90
- # should be skipped from the comparison
91
- # - +:trim_lines+:: (boolean) Determines whether lines should be
92
- # trimmed of leading and trailing space (including EOL sequence)
93
- #
94
- # === Return
95
- #
96
- # +true+ if the files/streams have exactly the same content; +false+
97
- # otherwise.
98
- def compare_text_streams lhs_stm, rhs_stm, options = {}
99
-
100
- options ||= {}
101
-
102
- ::CmpFS::Compare::Text::Internal_.compare_text_streams_ lhs_stm, rhs_stm, options
103
- end
104
-
105
- # Compares two files/streams, named by +lhs+ and +rhs+, in a textual
106
- # manner according to the given +options+
107
- #
108
- # === Signature
109
- #
110
- # * *Parameters:*
111
- # - +lhs+:: (String, stream) The name of a file, or a stream object
112
- # - +rhs+:: (String, stream) The name of a file, or a stream object
113
- # - +options+:: (Hash) Options
114
- #
115
- # * *Options:*
116
- # - +:no_rewind+:: (boolean) Prevents the default behaviour of
117
- # rewinding the stream before processing
118
- # - +:skip_blank_lines+:: (boolean) Determines whether blank lines
119
- # should be skipped from the comparison
120
- # - +:trim_lines+:: (boolean) Determines whether lines should be
121
- # trimmed of leading and trailing space (including EOL sequence)
122
- #
123
- # === Return
124
- #
125
- # +true+ if the files/streams have exactly the same content; +false+
126
- # otherwise.
127
- def compare_text lhs, rhs, options = {}
128
-
129
- options ||= {}
130
-
131
- ::CmpFS::Compare::Text::Internal_.compare_text_ lhs, rhs, options
132
- end
16
+ # Compares two files, named by +lhs_path+ and +rhs_path+, in a binary
17
+ # (exact) manner
18
+ #
19
+ # === Signature
20
+ #
21
+ # * *Parameters:*
22
+ # - +lhs_path+:: (+String+) The name of a file
23
+ # - +rhs_path+:: (+String+) The name of a file
24
+ # - +options+:: (+Hash+) Options that control the behaviour of the method
25
+ #
26
+ # * *Options:*
27
+ #
28
+ # === Return
29
+ # +true+ if the files have exactly the same content; +false+ otherwise.
30
+ def compare_binary_files lhs_path, rhs_path, options = {}
31
+
32
+ options ||= {}
33
+
34
+ ::CmpFS::Compare::Binary::Internal_.compare_binary_files_ lhs_path, rhs_path, options
35
+ end
36
+
37
+ # Compares two streams, +lhs_stm+ and +rhs_stm+, in a binary
38
+ # (exact) manner
39
+ #
40
+ # === Signature
41
+ #
42
+ # * *Parameters:*
43
+ # - +lhs_stm+:: (stream) A stream object
44
+ # - +rhs_stm+:: (stream) A stream object
45
+ # - +options+:: (+Hash+) Options that control the behaviour of the method
46
+ #
47
+ # * *Options:*
48
+ # - +:no_rewind+:: (boolean) Prevents the default behaviour of rewinding each stream before processing
49
+ #
50
+ # === Return
51
+ # +true+ if the streams have exactly the same content; +false+ otherwise.
52
+ def compare_binary_streams lhs_stm, rhs_stm, options = {}
53
+
54
+ options ||= {}
55
+
56
+ ::CmpFS::Compare::Binary::Internal_.compare_binary_streams_ lhs_stm, rhs_stm, options
57
+ end
58
+
59
+ # Compares two files/streams in a binary (exact) manner
60
+ #
61
+ # === Signature
62
+ #
63
+ # * *Parameters:*
64
+ # - +lhs+:: (+String+, stream) The name of a file, or a stream object
65
+ # - +rhs+:: (+String+, stream) The name of a file, or a stream object
66
+ # - +options+:: (+Hash+) Options that control the behaviour of the method
67
+ #
68
+ # * *Options:*
69
+ # - +:no_rewind+:: (boolean) Prevents the default behaviour of rewinding each stream before processing
70
+ #
71
+ # === Return
72
+ # +true+ if the files/streams have exactly the same content; +false+
73
+ # otherwise.
74
+ def compare_binary lhs, rhs, options = {}
75
+
76
+ options ||= {}
77
+
78
+ ::CmpFS::Compare::Binary::Internal_.compare_binary_ lhs, rhs, options
79
+ end
80
+
81
+
82
+ # Compares two files, named by +lhs_path+ and +rhs_path+, in a textual
83
+ # manner according to the given +options+
84
+ #
85
+ # === Signature
86
+ #
87
+ # * *Parameters:*
88
+ # - +lhs_path+:: (+String+) The name of a file
89
+ # - +rhs_path+:: (+String+) The name of a file
90
+ # - +options+:: (+Hash+) Options that control the behaviour of the method
91
+ #
92
+ # * *Options:*
93
+ # - +:skip_blank_lines+:: (boolean) Determines whether blank lines should be skipped from the comparison
94
+ # - +:trim_lines+:: (boolean) Determines whether lines should be trimmed of leading and trailing space (including EOL sequence)
95
+ #
96
+ # === Return
97
+ # +true+ if the files/streams have exactly the same content; +false+
98
+ # otherwise.
99
+ def compare_text_files lhs_path, rhs_path, options = {}
100
+
101
+ options |= {}
102
+
103
+ ::CmpFS::Compare::Text::Internal_.compare_text_files_ lhs_path, rhs_path, options
104
+ end
105
+
106
+ # Compares two streams, named by +lhs_stm+ and +rhs_stm+, in a textual
107
+ # manner according to the given +options+
108
+ #
109
+ # === Signature
110
+ #
111
+ # * *Parameters:*
112
+ # - +lhs_stm+:: (stream) A stream object
113
+ # - +rhs_stm+:: (stream) A stream object
114
+ # - +options+:: (+Hash+) Options that control the behaviour of the method
115
+ #
116
+ # * *Options:*
117
+ # - +:no_rewind+:: (boolean) Prevents the default behaviour of rewinding each stream before processing
118
+ # - +:skip_blank_lines+:: (boolean) Determines whether blank lines should be skipped from the comparison
119
+ # - +:trim_lines+:: (boolean) Determines whether lines should be trimmed of leading and trailing space (including EOL sequence)
120
+ #
121
+ # === Return
122
+ # +true+ if the files/streams have exactly the same content; +false+
123
+ # otherwise.
124
+ def compare_text_streams lhs_stm, rhs_stm, options = {}
125
+
126
+ options ||= {}
127
+
128
+ ::CmpFS::Compare::Text::Internal_.compare_text_streams_ lhs_stm, rhs_stm, options
129
+ end
130
+
131
+ # Compares two files/streams, named by +lhs+ and +rhs+, in a textual
132
+ # manner according to the given +options+
133
+ #
134
+ # === Signature
135
+ #
136
+ # * *Parameters:*
137
+ # - +lhs+:: (+String+, stream) The name of a file, or a stream object
138
+ # - +rhs+:: (+String+, stream) The name of a file, or a stream object
139
+ # - +options+:: (+Hash+) Options that control the behaviour of the method
140
+ #
141
+ # * *Options:*
142
+ # - +:no_rewind+:: (boolean) Prevents the default behaviour of rewinding each stream before processing
143
+ # - +:skip_blank_lines+:: (boolean) Determines whether blank lines should be skipped from the comparison
144
+ # - +:trim_lines+:: (boolean) Determines whether lines should be trimmed of leading and trailing space (including EOL sequence)
145
+ #
146
+ # === Return
147
+ # +true+ if the files/streams have exactly the same content; +false+
148
+ # otherwise.
149
+ def compare_text lhs, rhs, options = {}
150
+
151
+ options ||= {}
152
+
153
+ ::CmpFS::Compare::Text::Internal_.compare_text_ lhs, rhs, options
154
+ end
133
155
  end # module CmpFS_Compare_Methods
134
156
  end # module Compare
135
157
  end # module CmpFS
136
158
 
137
- # ############################## end of file ############################# #
138
159
 
160
+ # ############################## end of file ############################# #
139
161