libpath-ruby 0.2.2.1 → 0.2.2.3

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.
@@ -1,51 +1,50 @@
1
1
 
2
2
  # :stopdoc:
3
3
 
4
- module LibPath # :nodoc:
5
- # @!visibility private
6
- module Internal_ # :nodoc: all
7
4
 
5
+ module LibPath
8
6
  # @!visibility private
9
- module Platform # :nodoc: all
7
+ module Internal_ # :nodoc: all
10
8
 
11
9
  # @!visibility private
12
- module OS_Internal_ # :nodoc: all
10
+ module Platform # :nodoc: all
13
11
 
14
12
  # @!visibility private
15
- def self.win_platform_? # :nodoc:
13
+ module OS_Internal_ # :nodoc: all
16
14
 
17
- return true if 'Windows_NT' == ENV['OS']
15
+ # @!visibility private
16
+ def self.win_platform_? # :nodoc:
18
17
 
19
- [
20
- 'bccwin',
21
- 'cygwin',
22
- 'djgpp',
23
- 'mingw',
24
- 'mswin',
25
- 'wince',
26
- ].each do |os_name|
27
-
28
- return true if /#{os_name}/i =~ RUBY_PLATFORM
29
- end
18
+ return true if 'Windows_NT' == ENV['OS']
30
19
 
31
- false
32
- end
20
+ [
21
+ 'bccwin',
22
+ 'cygwin',
23
+ 'djgpp',
24
+ 'mingw',
25
+ 'mswin',
26
+ 'wince',
27
+ ].each do |os_name|
33
28
 
34
- end # module OS_Internal_
29
+ return true if /#{os_name}/i =~ RUBY_PLATFORM
30
+ end
35
31
 
36
- # @!visibility private
37
- module Constants # :nodoc: all
32
+ false
33
+ end
34
+ end # module OS_Internal_
38
35
 
39
36
  # @!visibility private
40
- PLATFORM_IS_WINDOWS = OS_Internal_.win_platform_? # :nodoc:
37
+ module Constants # :nodoc: all
41
38
 
42
- end # module Constants
43
-
44
- end # module Platform
39
+ # @!visibility private
40
+ PLATFORM_IS_WINDOWS = OS_Internal_.win_platform_? # :nodoc:
45
41
 
42
+ end # module Constants
43
+ end # module Platform
46
44
  end # module Internal_
47
45
  end # module LibPath
48
46
 
47
+
49
48
  # :startdoc:
50
49
 
51
50
 
@@ -1,36 +1,41 @@
1
1
 
2
- module LibPath # :nodoc:
2
+ # :stopdoc:
3
+
4
+
5
+ module LibPath
3
6
  # @!visibility private
4
7
  module Internal_ # :nodoc: all
5
8
 
6
- module String # :nodoc:
7
-
8
9
  # @!visibility private
9
- def self.rindex2(s, c1, c2) # :nodoc:
10
+ module String # :nodoc:
11
+
12
+ # @!visibility private
13
+ def self.rindex2(s, c1, c2) # :nodoc:
14
+
15
+ ri_1 = s.rindex(c1)
16
+ ri_2 = s.rindex(c2)
10
17
 
11
- ri_1 = s.rindex(c1)
12
- ri_2 = s.rindex(c2)
18
+ if ri_1
13
19
 
14
- if ri_1
20
+ if ri_2
15
21
 
16
- if ri_2
22
+ ri_1 < ri_2 ? ri_2 : ri_1
23
+ else
17
24
 
18
- ri_1 < ri_2 ? ri_2 : ri_1
25
+ ri_1
26
+ end
19
27
  else
20
28
 
21
- ri_1
29
+ ri_2
22
30
  end
23
- else
24
-
25
- ri_2
26
31
  end
27
- end
28
-
29
- end # module String
30
-
32
+ end # module String
31
33
  end # module Internal_
32
34
  end # module LibPath
33
35
 
34
36
 
37
+ # :startdoc:
38
+
39
+
35
40
  # ############################## end of file ############################# #
36
41
 
@@ -1,165 +1,170 @@
1
1
 
2
- module LibPath # :nodoc:
2
+ # :stopdoc:
3
+
4
+
5
+ module LibPath
3
6
  # @!visibility private
4
7
  module Internal_ # :nodoc: all
5
8
  # @!visibility private
6
9
  module Unix # :nodoc:
7
10
 
8
- # @!visibility private
9
- module Form # :nodoc:
10
-
11
- # [INTERNAL] This function is undocumented, and subject to change at any
12
- # time
13
- #
14
11
  # @!visibility private
15
- def self.char_is_path_name_separator? c # :nodoc:
12
+ module Form # :nodoc:
16
13
 
17
- '/' == c
18
- end
14
+ # [INTERNAL] This function is undocumented, and subject to change at any
15
+ # time
16
+ #
17
+ # @!visibility private
18
+ def self.char_is_path_name_separator? c # :nodoc:
19
19
 
20
- # [INTERNAL] This function is undocumented, and subject to change at any
21
- # time
22
- #
23
- # @!visibility private
24
- def self.append_trailing_slash s # :nodoc:
20
+ '/' == c
21
+ end
25
22
 
26
- return s if '/' == s[-1]
23
+ # [INTERNAL] This function is undocumented, and subject to change at any
24
+ # time
25
+ #
26
+ # @!visibility private
27
+ def self.append_trailing_slash s # :nodoc:
27
28
 
28
- s + '/'
29
- end
29
+ return s if '/' == s[-1]
30
30
 
31
- # [INTERNAL] This function is undocumented, and subject to change at any
32
- # time
33
- #
34
- # @!visibility private
35
- def self.get_trailing_slash s # :nodoc:
31
+ s + '/'
32
+ end
36
33
 
37
- '/' == s[-1] ? '/' : nil
38
- end
34
+ # [INTERNAL] This function is undocumented, and subject to change at any
35
+ # time
36
+ #
37
+ # @!visibility private
38
+ def self.get_trailing_slash s # :nodoc:
39
39
 
40
- # [INTERNAL] This function is undocumented, and subject to change at any
41
- # time
42
- #
43
- # @!visibility private
44
- def self.has_trailing_slash? s # :nodoc:
40
+ '/' == s[-1] ? '/' : nil
41
+ end
45
42
 
46
- '/' == s[-1]
47
- end
43
+ # [INTERNAL] This function is undocumented, and subject to change at any
44
+ # time
45
+ #
46
+ # @!visibility private
47
+ def self.has_trailing_slash? s # :nodoc:
48
48
 
49
- # [INTERNAL] This function is undocumented, and subject to change at any
50
- # time
51
- #
52
- # @!visibility private
53
- def self.trim_trailing_slash s # :nodoc:
49
+ '/' == s[-1]
50
+ end
54
51
 
55
- return s unless '/' == s[-1]
52
+ # [INTERNAL] This function is undocumented, and subject to change at any
53
+ # time
54
+ #
55
+ # @!visibility private
56
+ def self.trim_trailing_slash s # :nodoc:
56
57
 
57
- s.chop
58
- end
58
+ return s unless '/' == s[-1]
59
59
 
60
- # [INTERNAL] This function is undocumented, and subject to change at any
61
- # time
62
- #
63
- # @!visibility private
64
- def self.elide_redundant_path_name_separators s # :nodoc:
60
+ s.chop
61
+ end
65
62
 
66
- s.gsub(/\/\/+/, '/')
67
- end
63
+ # [INTERNAL] This function is undocumented, and subject to change at any
64
+ # time
65
+ #
66
+ # @!visibility private
67
+ def self.elide_redundant_path_name_separators s # :nodoc:
68
68
 
69
- # [INTERNAL] This function is undocumented, and subject to change at any
70
- # time
71
- #
72
- # @!visibility private
73
- def self.elide_redundant_path_name_separators! s # :nodoc:
74
-
75
- s.gsub!(/\/\/+/, '/')
76
-
77
- s
78
- end
79
-
80
-
81
- # [INTERNAL] This function is undocumented, and subject to change at any
82
- # time
83
- #
84
- # Returns tuple of:
85
- #
86
- # 0. source path (with redundant path name separators elided)
87
- # 1. Windows volume (which is always nil)
88
- # 2. Directory
89
- # 3. Basename
90
- # 4. Stem
91
- # 5. Extension
92
- # 6. Directory parts
93
- # 7. Directory path parts
94
- #
95
- # @!visibility private
96
- def self.split_path s, **options # :nodoc:
69
+ s.gsub(/\/\/+/, '/')
70
+ end
97
71
 
98
- f2_directory = nil
99
- f3_basename = nil
100
- f4_stem = nil
101
- f5_extension = nil
102
- f6_dir_parts = []
72
+ # [INTERNAL] This function is undocumented, and subject to change at any
73
+ # time
74
+ #
75
+ # @!visibility private
76
+ def self.elide_redundant_path_name_separators! s # :nodoc:
103
77
 
104
- s = self.elide_redundant_path_name_separators s
78
+ s.gsub!(/\/\/+/, '/')
105
79
 
106
- ri_slash = s.rindex('/')
80
+ s
81
+ end
107
82
 
108
- if ri_slash
109
83
 
110
- f2_directory = s[0..ri_slash]
111
- f3_basename = s[(1 + ri_slash)..-1]
112
- else
84
+ # [INTERNAL] This function is undocumented, and subject to change at any
85
+ # time
86
+ #
87
+ # Returns tuple of:
88
+ #
89
+ # 0. source path (with redundant path name separators elided)
90
+ # 1. Windows volume (which is always nil)
91
+ # 2. Directory
92
+ # 3. Basename
93
+ # 4. Stem
94
+ # 5. Extension
95
+ # 6. Directory parts
96
+ # 7. Directory path parts
97
+ #
98
+ # @!visibility private
99
+ def self.split_path s, **options # :nodoc:
113
100
 
114
101
  f2_directory = nil
115
- f3_basename = s
116
- end
117
-
118
- case f3_basename
119
- when '.', '..'
120
-
121
- f4_stem = f3_basename
102
+ f3_basename = nil
103
+ f4_stem = nil
122
104
  f5_extension = nil
123
- else
105
+ f6_dir_parts = []
106
+
107
+ s = self.elide_redundant_path_name_separators s
124
108
 
125
- ri_dot = f3_basename.rindex('.')
109
+ ri_slash = s.rindex('/')
126
110
 
127
- if ri_dot
111
+ if ri_slash
128
112
 
129
- f4_stem = f3_basename[0...ri_dot]
130
- f5_extension = f3_basename[ri_dot..-1]
113
+ f2_directory = s[0..ri_slash]
114
+ f3_basename = s[(1 + ri_slash)..-1]
131
115
  else
132
116
 
117
+ f2_directory = nil
118
+ f3_basename = s
119
+ end
120
+
121
+ case f3_basename
122
+ when '.', '..'
123
+
133
124
  f4_stem = f3_basename
134
125
  f5_extension = nil
126
+ else
127
+
128
+ ri_dot = f3_basename.rindex('.')
129
+
130
+ if ri_dot
131
+
132
+ f4_stem = f3_basename[0...ri_dot]
133
+ f5_extension = f3_basename[ri_dot..-1]
134
+ else
135
+
136
+ f4_stem = f3_basename
137
+ f5_extension = nil
138
+ end
135
139
  end
136
- end
137
140
 
138
- unless options[:suppress_parts]
141
+ unless options[:suppress_parts]
139
142
 
140
- case f2_directory
141
- when nil
143
+ case f2_directory
144
+ when nil
142
145
 
143
- ;
144
- when '/'
146
+ ;
147
+ when '/'
145
148
 
146
- f6_dir_parts = [ '/' ]
147
- else
149
+ f6_dir_parts = [ '/' ]
150
+ else
148
151
 
149
- f6_dir_parts = f2_directory.split('/').reject { |v| v.empty? }.map { |v| v + '/' }
150
- f6_dir_parts.unshift('/') if '/' == f2_directory[0]
152
+ f6_dir_parts = f2_directory.split('/').reject { |v| v.empty? }.map { |v| v + '/' }
153
+ f6_dir_parts.unshift('/') if '/' == f2_directory[0]
154
+ end
151
155
  end
152
- end
153
156
 
154
157
 
155
- [ s, nil, f2_directory, f3_basename, f4_stem, f5_extension, f6_dir_parts, f6_dir_parts ].map { |v| ::String === v && v.empty? ? nil : v }
156
- end
157
- end # module Form
158
-
158
+ [ s, nil, f2_directory, f3_basename, f4_stem, f5_extension, f6_dir_parts, f6_dir_parts ].map { |v| ::String === v && v.empty? ? nil : v }
159
+ end
160
+ end # module Form
159
161
  end # module Unix
160
162
  end # module Internal_
161
163
  end # module LibPath
162
164
 
163
165
 
166
+ # :startdoc:
167
+
168
+
164
169
  # ############################## end of file ############################# #
165
170
 
@@ -1,87 +1,92 @@
1
1
 
2
- module LibPath # :nodoc:
2
+ # :stopdoc:
3
+
4
+
5
+ module LibPath
3
6
  # @!visibility private
4
7
  module Internal_ # :nodoc: all
5
8
  # @!visibility private
6
9
  module Windows # :nodoc:
7
- # @!visibility private
8
- module Drive # :nodoc:
9
-
10
- # @!visibility private
11
- module Constants # :nodoc:
12
-
13
- DRIVE_LETTERS = [
14
-
15
- 'C',
16
- 'D',
17
- 'E',
18
- 'F',
19
- 'G',
20
- 'H',
21
- 'I',
22
- 'J',
23
- 'K',
24
- 'L',
25
- 'M',
26
- 'N',
27
- 'P',
28
- 'Q',
29
- 'R',
30
- 'S',
31
- 'T',
32
- 'U',
33
- 'V',
34
- 'W',
35
- 'I',
36
- 'X',
37
- 'Y',
38
- 'Z',
39
-
40
- 'c',
41
- 'd',
42
- 'e',
43
- 'f',
44
- 'g',
45
- 'h',
46
- 'i',
47
- 'j',
48
- 'k',
49
- 'l',
50
- 'm',
51
- 'n',
52
- 'p',
53
- 'q',
54
- 'r',
55
- 's',
56
- 't',
57
- 'u',
58
- 'v',
59
- 'w',
60
- 'i',
61
- 'x',
62
- 'y',
63
- 'z',
64
-
65
- 'A',
66
- 'B',
67
-
68
- 'a',
69
- 'b',
70
-
71
- ]
72
- end # module Constants
73
10
 
74
11
  # @!visibility private
75
- def self.character_is_drive_letter? ch # :nodoc:
12
+ module Drive # :nodoc:
13
+
14
+ # @!visibility private
15
+ module Constants # :nodoc:
16
+
17
+ DRIVE_LETTERS = [
76
18
 
77
- ::LibPath::Internal_::Windows::Drive::Constants::DRIVE_LETTERS.include? ch
78
- end
19
+ 'C',
20
+ 'D',
21
+ 'E',
22
+ 'F',
23
+ 'G',
24
+ 'H',
25
+ 'I',
26
+ 'J',
27
+ 'K',
28
+ 'L',
29
+ 'M',
30
+ 'N',
31
+ 'P',
32
+ 'Q',
33
+ 'R',
34
+ 'S',
35
+ 'T',
36
+ 'U',
37
+ 'V',
38
+ 'W',
39
+ 'I',
40
+ 'X',
41
+ 'Y',
42
+ 'Z',
79
43
 
80
- end # module Drive
44
+ 'c',
45
+ 'd',
46
+ 'e',
47
+ 'f',
48
+ 'g',
49
+ 'h',
50
+ 'i',
51
+ 'j',
52
+ 'k',
53
+ 'l',
54
+ 'm',
55
+ 'n',
56
+ 'p',
57
+ 'q',
58
+ 'r',
59
+ 's',
60
+ 't',
61
+ 'u',
62
+ 'v',
63
+ 'w',
64
+ 'i',
65
+ 'x',
66
+ 'y',
67
+ 'z',
68
+
69
+ 'A',
70
+ 'B',
71
+
72
+ 'a',
73
+ 'b',
74
+ ]
75
+ end # module Constants
76
+
77
+ # @!visibility private
78
+ def self.character_is_drive_letter? ch # :nodoc:
79
+
80
+ ::LibPath::Internal_::Windows::Drive::Constants::DRIVE_LETTERS.include? ch
81
+ end
82
+ end # module Drive
81
83
  end # module Windows
82
84
  end # module Internal_
83
85
  end # module LibPath
84
86
 
85
87
 
88
+ # :startdoc:
89
+
90
+
86
91
  # ############################## end of file ############################# #
87
92