pathutil 0.4.2 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2f764aa49d17400ee6d3e613e2d4402dc7ff69de
4
- data.tar.gz: d362e2e9d92234bc1bc7dd7b32ee01d69de5b99d
3
+ metadata.gz: e0379be022c3075e3a84b161087c637460dadf4d
4
+ data.tar.gz: 835f3036a786ac0096522886b66f11d9b5584e66
5
5
  SHA512:
6
- metadata.gz: fba4041a94c1abf33246e417ad6fe5361aaf8dddcdaf44eda11468e539e35a62c8e85b4a01e5ffd9665353f4ea3f0b10576bd8ecb23ade4db3099d9c9f6e15b3
7
- data.tar.gz: af0114a98b2b63b3dcedcb74fae2e7610b659abf57e1aac225145d951e7c6d281363bb242d3b6f6e3aa50cfc3117bf82642a421fd8631b03a6e6224283572eb9
6
+ metadata.gz: f2e6321fbcbb23807bc9de1a166c20a3566d481c39240ae48aa6d898834f8d17aeefd206e624061ea0a2d514ad3b688374b9b566c4c348b1dfa9f5a67384c6c0
7
+ data.tar.gz: be5897bdcdf38edf0494f4dadb9963345c33cb40aa10f73807861702d593660afa74b7352169695ec6e68e6ecf3ee4bee6aedef674524fca80bc33c12a55eef8
data/Gemfile CHANGED
@@ -1,12 +1,15 @@
1
+ # ----------------------------------------------------------------------------
1
2
  # Frozen-string-literal: true
2
3
  # Copyright: 2015-2016 Jordon Bedwell - MIT License
3
4
  # Encoding: utf-8
5
+ # ----------------------------------------------------------------------------
4
6
 
5
7
  source "https://rubygems.org"
6
8
  gem "rake", :require => false
7
9
  gemspec
8
10
 
9
11
  group :test do
12
+ gem "luna-rspec-formatters", :require => false
10
13
  gem "codeclimate-test-reporter", :require => false
11
14
  gem "safe_yaml", :require => false
12
15
  end
@@ -16,7 +19,6 @@ group :development do
16
19
  gem "rspec-helpers", :require => false
17
20
  gem "luna-rubocop-formatters", :require => false
18
21
  gem "rubocop", :github => "bbatsov/rubocop", :require => false
19
- gem "luna-rspec-formatters", :require => false
20
22
  gem "benchmark-ips", :require => false
21
23
  gem "simple-ansi", :require => false
22
24
  gem "pry", :require => false
data/Rakefile CHANGED
@@ -1,18 +1,25 @@
1
+ # ----------------------------------------------------------------------------
1
2
  # Frozen-string-literal: true
2
3
  # Copyright: 2015-2016 Jordon Bedwell - MIT License
3
4
  # Encoding: utf-8
5
+ # ----------------------------------------------------------------------------
4
6
 
5
7
  require "open3"
6
8
  require "rspec/core/rake_task"
7
9
  require_relative "benchmark/support/task"
10
+ require "luna/rubocop/rake/task"
8
11
  require "simple/ansi"
9
12
  require "pathutil"
10
13
  require "json"
11
14
 
15
+ # ----------------------------------------------------------------------------
16
+
12
17
  task :default => [
13
18
  ENV["BENCHMARK"] ? :benchmark : :spec
14
19
  ]
15
20
 
21
+ # ----------------------------------------------------------------------------
22
+
16
23
  BenchmarkTask.new :benchmark
17
24
  RSpec::Core::RakeTask.new :spec
18
25
  task :test => :spec
@@ -74,10 +81,3 @@ task :methods do
74
81
 
75
82
  $stdout.puts
76
83
  end
77
-
78
- # ----------------------------------------------------------------------------
79
-
80
- task :rubocop do
81
- sh "bundle", "exec", "rubocop", "-DE", "-r", "luna/rubocop/formatters/checks", \
82
- "-f", "Luna::RuboCop::Formatters::Checks"
83
- end
data/lib/pathutil.rb CHANGED
@@ -8,13 +8,13 @@ require "pathutil/helpers"
8
8
  require "forwardable/extended"
9
9
  require "find"
10
10
 
11
- #
12
-
13
11
  class Pathutil
14
12
  attr_writer :encoding
15
13
  extend Forwardable::Extended
16
14
  extend Helpers
17
15
 
16
+ # --------------------------------------------------------------------------
17
+ # Note: A lot of this class can be compatible with Pathname.
18
18
  # --------------------------------------------------------------------------
19
19
 
20
20
  def initialize(path)
@@ -24,15 +24,9 @@ class Pathutil
24
24
  end
25
25
 
26
26
  # --------------------------------------------------------------------------
27
+ # Note: It will return all results that it finds across all ascending paths.
28
+ # Example: Pathutil.new("~/").expand_path.search_backwards(".bashrc") => [#<Pathutil:/home/user/.bashrc>]
27
29
  # Search backwards for a file (like Rakefile, _config.yml, opts.yml).
28
- # @note It will return all results that it finds across all ascending paths.
29
- # @param backwards how far do you wish to search backwards in that path?
30
- # @param file the file you are searching for.
31
- #
32
- # @example
33
- # Pathutil.new("~/").expand_path.search_backwards(".bashrc") => [
34
- # #<Pathutil:/home/user/.bashrc>
35
- # ]
36
30
  # --------------------------------------------------------------------------
37
31
 
38
32
  def search_backwards(file, backwards: Float::INFINITY)
@@ -64,6 +58,9 @@ class Pathutil
64
58
  ary
65
59
  end
66
60
 
61
+ # --------------------------------------------------------------------------
62
+ # See: self.class.load_yaml as this a direct alias of that method.
63
+ # Read the file as a YAML file turning it into an object.
67
64
  # --------------------------------------------------------------------------
68
65
 
69
66
  def read_yaml(throw_missing: false, **kwd)
@@ -77,6 +74,9 @@ class Pathutil
77
74
  )
78
75
  end
79
76
 
77
+ # --------------------------------------------------------------------------
78
+ # See: self.class.read_json as this is a direct alias of that method.
79
+ # Read the file as a JSON file turning it into an object.
80
80
  # --------------------------------------------------------------------------
81
81
 
82
82
  def read_json(throw_missing: false)
@@ -91,13 +91,9 @@ class Pathutil
91
91
  end
92
92
 
93
93
  # --------------------------------------------------------------------------
94
+ # Note: The blank part is intentionally left there so that you can rejoin.
94
95
  # Splits the path into all parts so that you can do step by step comparisons
95
- # @note The blank part is intentionally left there so that you can rejoin.
96
- #
97
- # @example
98
- # Pathutil.new("/my/path").split_path # => [
99
- # "", "my", "path"
100
- # ]
96
+ # Example: Pathutil.new("/my/path").split_path # => ["", "my", "path"]
101
97
  # --------------------------------------------------------------------------
102
98
 
103
99
  def split_path
@@ -107,10 +103,8 @@ class Pathutil
107
103
  end
108
104
 
109
105
  # --------------------------------------------------------------------------
110
- # @see `String#==` for more details.
111
106
  # A stricter version of `==` that also makes sure the object matches.
112
- # @param [Pathutil] other the comparee.
113
- # @return true, false
107
+ # See: `String#==` for more details.
114
108
  # --------------------------------------------------------------------------
115
109
 
116
110
  def ===(other)
@@ -118,11 +112,9 @@ class Pathutil
118
112
  end
119
113
 
120
114
  # --------------------------------------------------------------------------
121
- # @example Pathutil.new("/hello") >= Pathutil.new("/") # => true
122
- # @example Pathutil.new("/hello") >= Pathutil.new("/hello") # => true
123
115
  # Checks to see if a path falls within a path and deeper or is the other.
124
- # @param path the path that should be above the object.
125
- # @return true, false
116
+ # Example: Pathutil.new("/hello") >= Pathutil.new("/hello") # => true
117
+ # Example: Pathutil.new("/hello") >= Pathutil.new("/") # => true
126
118
  # --------------------------------------------------------------------------
127
119
 
128
120
  def >=(other)
@@ -132,10 +124,8 @@ class Pathutil
132
124
  end
133
125
 
134
126
  # --------------------------------------------------------------------------
135
- # @example Pathutil.new("/hello/world") > Pathutil.new("/hello") # => true
136
127
  # Strictly checks to see if a path is deeper but within the path of the other.
137
- # @param path the path that should be above the object.
138
- # @return true, false
128
+ # Example: Pathutil.new("/hello/world") > Pathutil.new("/hello") # => true
139
129
  # --------------------------------------------------------------------------
140
130
 
141
131
  def >(other)
@@ -145,10 +135,8 @@ class Pathutil
145
135
  end
146
136
 
147
137
  # --------------------------------------------------------------------------
148
- # @example Pathutil.new("/") < Pathutil.new("/hello") # => true
149
138
  # Strictly check to see if a path is behind other path but within it.
150
- # @param path the path that should be below the object.
151
- # @return true, false
139
+ # Example: Pathutil.new("/") < Pathutil.new("/hello") # => true
152
140
  # --------------------------------------------------------------------------
153
141
 
154
142
  def <(other)
@@ -158,11 +146,9 @@ class Pathutil
158
146
  end
159
147
 
160
148
  # --------------------------------------------------------------------------
161
- # Check to see if a path is behind the other path butt within it.
162
- # @example Pathutil.new("/hello") < Pathutil.new("/hello") # => true
163
- # @example Pathutil.new("/") < Pathutil.new("/hello") # => true
164
- # @param path the path that should be below the object.
165
- # @return true, false
149
+ # Check to see if a path is behind the other path but within it.
150
+ # Example: Pathutil.new("/hello") < Pathutil.new("/hello") # => true
151
+ # Example: Pathutil.new("/") < Pathutil.new("/hello") # => true
166
152
  # --------------------------------------------------------------------------
167
153
 
168
154
  def <=(other)
@@ -172,9 +158,8 @@ class Pathutil
172
158
  end
173
159
 
174
160
  # --------------------------------------------------------------------------
175
- # @note "./" is considered relative.
176
161
  # Check to see if the path is absolute, as in: starts with "/"
177
- # @return true, false
162
+ # Note: "./" is considered relative.
178
163
  # --------------------------------------------------------------------------
179
164
 
180
165
  def absolute?
@@ -183,21 +168,8 @@ class Pathutil
183
168
 
184
169
  # --------------------------------------------------------------------------
185
170
  # Break apart the path and yield each with the previous parts.
186
- # @return Enumerator if no block is given.
187
- #
188
- # @example
189
- # Pathutil.new("/hello/world").ascend.to_a # => [
190
- # "/", "/hello", "/hello/world"
191
- # ]
192
- #
193
- # @example
194
- # Pathutil.new("/hello/world").ascend do |path|
195
- # $stdout.puts path
196
- # end
197
- #
198
- # /
199
- # /hello
200
- # /hello/world
171
+ # Example: Pathutil.new("/hello/world").ascend.to_a # => ["/", "/hello", "/hello/world"]
172
+ # Example: Pathutil.new("/hello/world").ascend { |path| $stdout.puts path }
201
173
  # --------------------------------------------------------------------------
202
174
 
203
175
  def ascend
@@ -225,21 +197,8 @@ class Pathutil
225
197
 
226
198
  # --------------------------------------------------------------------------
227
199
  # Break apart the path in reverse order and descend into the path.
228
- # @return Enumerator if no block is given.
229
- #
230
- # @example
231
- # Pathutil.new("/hello/world").descend.to_a # => [
232
- # "/hello/world", "/hello", "/"
233
- # ]
234
- #
235
- # @example
236
- # Pathutil.new("/hello/world").descend do |path|
237
- # $stdout.puts path
238
- # end
239
- #
240
- # /hello/world
241
- # /hello
242
- # /
200
+ # Example: Pathutil.new("/hello/world").descend.to_a # => ["/hello/world", "/hello", "/"]
201
+ # Example: Pathutil.new("/hello/world").descend { |path| $stdout.puts path }
243
202
  # --------------------------------------------------------------------------
244
203
 
245
204
  def descend
@@ -257,15 +216,8 @@ class Pathutil
257
216
  end
258
217
 
259
218
  # --------------------------------------------------------------------------
219
+ # Example: Pathutil.new("/hello/world").each_line { |line| $stdout.puts line }
260
220
  # Wraps `readlines` and allows you to yield on the result.
261
- #
262
- # @example
263
- # Pathutil.new("/hello/world").each_line do |line|
264
- # $stdout.puts line
265
- # end
266
- #
267
- # Hello
268
- # World
269
221
  # --------------------------------------------------------------------------
270
222
 
271
223
  def each_line
@@ -278,12 +230,10 @@ class Pathutil
278
230
  end
279
231
 
280
232
  # --------------------------------------------------------------------------
281
- # @see `File#fnmatch` for more information.
233
+ # Example: Pathutil.new("/hello").fnmatch?("/hello") # => true
282
234
  # Unlike traditional `fnmatch`, with this one `Regexp` is allowed.
283
- # @param [String, Regexp] matcher the matcher used, can be a `Regexp`
284
- # @example Pathutil.new("/hello").fnmatch?("/hello") # => true
285
- # @example Pathutil.new("/hello").fnmatch?(/h/) # => true
286
- # @return true, false
235
+ # Example: Pathutil.new("/hello").fnmatch?(/h/) # => true
236
+ # See: `File#fnmatch` for more information.
287
237
  # --------------------------------------------------------------------------
288
238
 
289
239
  def fnmatch?(matcher)
@@ -293,7 +243,6 @@ class Pathutil
293
243
 
294
244
  # --------------------------------------------------------------------------
295
245
  # Allows you to quickly determine if the file is the root folder.
296
- # @return true, false
297
246
  # --------------------------------------------------------------------------
298
247
 
299
248
  def root?
@@ -301,9 +250,7 @@ class Pathutil
301
250
  end
302
251
 
303
252
  # --------------------------------------------------------------------------
304
- # @param [Pathutil, String] path the reference.
305
253
  # Allows you to check if the current path is in the path you want.
306
- # @return true, false
307
254
  # --------------------------------------------------------------------------
308
255
 
309
256
  def in_path?(path)
@@ -321,7 +268,6 @@ class Pathutil
321
268
 
322
269
  # --------------------------------------------------------------------------
323
270
  # Grab all of the children from the current directory, including hidden.
324
- # @return Array<Pathutils>
325
271
  # --------------------------------------------------------------------------
326
272
 
327
273
  def children
@@ -343,11 +289,8 @@ class Pathutil
343
289
  end
344
290
 
345
291
  # --------------------------------------------------------------------------
346
- # @see `File::Constants` for a list of flags.
347
- # Allows you to glob however you wish to glob in the current `Pathutils`
348
- # @param [String] flags the flags you want to ship to the glob.
349
- # @param [String] pattern the pattern A.K.A: "**/*"
350
- # @return Enumerator unless a block is given.
292
+ # Allows you to glob however you wish to glob in the current `Pathutil`
293
+ # See: `File::Constants` for a list of flags.
351
294
  # --------------------------------------------------------------------------
352
295
 
353
296
  def glob(pattern, flags = 0)
@@ -369,9 +312,8 @@ class Pathutil
369
312
  end
370
313
 
371
314
  # --------------------------------------------------------------------------
372
- # @note you do not need to ship a block at all.
373
315
  # Move to the current directory temporarily (or for good) and do work son.
374
- # @return 0, 1 if no block given
316
+ # Note: you do not need to ship a block at all.
375
317
  # --------------------------------------------------------------------------
376
318
 
377
319
  def chdir
@@ -388,9 +330,7 @@ class Pathutil
388
330
  end
389
331
 
390
332
  # --------------------------------------------------------------------------
391
- # @return Enumerator if no block is given.
392
333
  # Find all files without care and yield the given block.
393
- # @see Find.find
394
334
  # --------------------------------------------------------------------------
395
335
 
396
336
  def find
@@ -402,7 +342,6 @@ class Pathutil
402
342
 
403
343
  # --------------------------------------------------------------------------
404
344
  # Splits the path returning each part (filename) back to you.
405
- # @return Enumerator if no block is given.
406
345
  # --------------------------------------------------------------------------
407
346
 
408
347
  def each_filename
@@ -412,6 +351,9 @@ class Pathutil
412
351
  end
413
352
  end
414
353
 
354
+ # --------------------------------------------------------------------------
355
+ # Note: This will simply return self if "/".
356
+ # Get the parent of the current path.
415
357
  # --------------------------------------------------------------------------
416
358
 
417
359
  def parent
@@ -423,7 +365,6 @@ class Pathutil
423
365
 
424
366
  # --------------------------------------------------------------------------
425
367
  # Split the file into its dirname and basename, so you can do stuff.
426
- # @return File.dirname, File.basename
427
368
  # --------------------------------------------------------------------------
428
369
 
429
370
  def split
@@ -434,6 +375,7 @@ class Pathutil
434
375
 
435
376
  # --------------------------------------------------------------------------
436
377
  # Replace a files extension with your given extension.
378
+ # Note: Your extension should start with "."
437
379
  # --------------------------------------------------------------------------
438
380
 
439
381
  def sub_ext(ext)
@@ -442,20 +384,18 @@ class Pathutil
442
384
 
443
385
  # --------------------------------------------------------------------------
444
386
  # A less complex version of `relative_path_from` that simply uses a
445
- # `Regexp` and returns the full path if it cannot be relatively determined.
446
- # @return Pathutils the relative path if it can be determined or is relative.
447
- # @return Pathutils the full path if relative path cannot be determined
387
+ # `Regexp` and returns the full path if it cannot be determined.
448
388
  # --------------------------------------------------------------------------
449
389
 
450
390
  def relative_path_from(from)
451
391
  from = self.class.new(from).expand_path.gsub(%r!/$!, "")
452
- self.class.new(expand_path.gsub(%r!^#{from.regexp_escape}/!, ""))
392
+ self.class.new(expand_path.gsub(%r!^#{
393
+ from.regexp_escape
394
+ }/!, ""))
453
395
  end
454
396
 
455
397
  # --------------------------------------------------------------------------
456
398
  # Expands the path and left joins the root to the path.
457
- # @param [String, Pathutil] root the root you wish to enforce on it.
458
- # @return Pathutil the enforced path with given root.
459
399
  # --------------------------------------------------------------------------
460
400
 
461
401
  def enforce_root(root)
@@ -472,19 +412,28 @@ class Pathutil
472
412
 
473
413
  # --------------------------------------------------------------------------
474
414
  # Copy a directory, allowing symlinks if the link falls inside of the root.
415
+ # This is indented for people who wish some safety to their copies.
475
416
  # --------------------------------------------------------------------------
476
417
 
477
418
  def safe_copy(to, root: nil)
478
419
  raise ArgumentError, "must give a root" unless root
479
- to = self.class.new(to)
480
-
481
420
  root = self.class.new(root)
482
- return safe_copy_directory(to, :root => root) if directory?
483
- safe_copy_file(to, :root => root)
421
+ to = self.class.new(to)
422
+
423
+ if directory?
424
+ safe_copy_directory(to, {
425
+ :root => root
426
+ })
427
+
428
+ else
429
+ safe_copy_file(to, {
430
+ :root => root
431
+ })
432
+ end
484
433
  end
485
434
 
486
435
  # --------------------------------------------------------------------------
487
- # @see `self.class.normalize` as this is an alias.
436
+ # See: `self.class.normalize` as this is an alias.
488
437
  # --------------------------------------------------------------------------
489
438
 
490
439
  def normalize
@@ -494,7 +443,7 @@ class Pathutil
494
443
  end
495
444
 
496
445
  # --------------------------------------------------------------------------
497
- # @see `self.class.encoding` as this is an alias.
446
+ # See: `self.class.encoding` as this is an alias.
498
447
  # --------------------------------------------------------------------------
499
448
 
500
449
  def encoding
@@ -505,6 +454,7 @@ class Pathutil
505
454
 
506
455
  # --------------------------------------------------------------------------
507
456
  # Read took two steroid shots: it can normalize your string, and encode.
457
+ # Note: You can set the default encodings via the class.
508
458
  # --------------------------------------------------------------------------
509
459
 
510
460
  def read(*args, **kwd)
@@ -524,6 +474,7 @@ class Pathutil
524
474
 
525
475
  # --------------------------------------------------------------------------
526
476
  # Binread took two steroid shots: it can normalize your string, and encode.
477
+ # Note: You can set the default encodings via the class.
527
478
  # --------------------------------------------------------------------------
528
479
 
529
480
  def binread(*args, **kwd)
@@ -543,6 +494,7 @@ class Pathutil
543
494
 
544
495
  # --------------------------------------------------------------------------
545
496
  # Readlines took two steroid shots: it can normalize your string, and encode.
497
+ # Note: You can set the default encodings via the class.
546
498
  # --------------------------------------------------------------------------
547
499
 
548
500
  def readlines(*args, **kwd)
@@ -562,6 +514,7 @@ class Pathutil
562
514
 
563
515
  # --------------------------------------------------------------------------
564
516
  # Write took two steroid shots: it can normalize your string, and encode.
517
+ # Note: You can set the default encodings via the class.
565
518
  # --------------------------------------------------------------------------
566
519
 
567
520
  def write(data, *args, **kwd)
@@ -581,6 +534,7 @@ class Pathutil
581
534
 
582
535
  # --------------------------------------------------------------------------
583
536
  # Binwrite took two steroid shots: it can normalize your string, and encode.
537
+ # Note: You can set the default encodings via the class.
584
538
  # --------------------------------------------------------------------------
585
539
 
586
540
  def binwrite(data, *args, **kwd)
@@ -599,7 +553,7 @@ class Pathutil
599
553
  end
600
554
 
601
555
  # --------------------------------------------------------------------------
602
- # @api returns the current objects expanded path and their expanded path.
556
+ # Expand the paths and return.
603
557
  # --------------------------------------------------------------------------
604
558
 
605
559
  private
@@ -607,6 +561,8 @@ class Pathutil
607
561
  return expand_path, self.class.new(path).expand_path
608
562
  end
609
563
 
564
+ # --------------------------------------------------------------------------
565
+ # Safely copy a file.
610
566
  # --------------------------------------------------------------------------
611
567
 
612
568
  private
@@ -617,6 +573,8 @@ class Pathutil
617
573
  })
618
574
  end
619
575
 
576
+ # --------------------------------------------------------------------------
577
+ # Safely copy a directory and it's sub-files.
620
578
  # --------------------------------------------------------------------------
621
579
 
622
580
  private
@@ -649,13 +607,12 @@ class Pathutil
649
607
  end
650
608
  end
651
609
 
652
- # --------------------------------------------------------------------------
653
-
654
610
  class << self
655
611
  attr_writer :encoding
656
612
 
657
613
  # ------------------------------------------------------------------------
658
614
  # Get the current directory that Ruby knows about.
615
+ # Note: We do nothing special here.
659
616
  # ------------------------------------------------------------------------
660
617
 
661
618
  def pwd
@@ -668,9 +625,9 @@ class Pathutil
668
625
  alias cwd pwd
669
626
 
670
627
  # ------------------------------------------------------------------------
628
+ # Note: you are encouraged to override this if you need to.
671
629
  # Aliases the default system encoding to us so that we can do most read
672
630
  # and write operations with that encoding, instead of being crazy.
673
- # @note you are encouraged to override this if you need to.
674
631
  # ------------------------------------------------------------------------
675
632
 
676
633
  def encoding
@@ -680,8 +637,8 @@ class Pathutil
680
637
  end
681
638
 
682
639
  # ------------------------------------------------------------------------
683
- # Normalize CRLF -> LF on Windows reads, to ease your troubles.
684
- # Normalize LF -> CLRF on Windows write, to ease their troubles.
640
+ # Normalize CRLF -> LF on Windows reads, to ease your troubles.
641
+ # Normalize LF -> CLRF on Windows write, to ease your troubles.
685
642
  # ------------------------------------------------------------------------
686
643
 
687
644
  def normalize
@@ -691,6 +648,10 @@ class Pathutil
691
648
  }
692
649
  end
693
650
 
651
+ # ------------------------------------------------------------------------
652
+ # Make a temporary directory.
653
+ # Note: if you adruptly exit it will not remove the dir.
654
+ # Note: this directory is removed on exit.
694
655
  # ------------------------------------------------------------------------
695
656
 
696
657
  def tmpdir(*args)
@@ -702,6 +663,10 @@ class Pathutil
702
663
  rtn
703
664
  end
704
665
 
666
+ # ------------------------------------------------------------------------
667
+ # Make a temporary file.
668
+ # Note: if you adruptly exit it will not remove the dir.
669
+ # Note: this file is removed on exit.
705
670
  # ------------------------------------------------------------------------
706
671
 
707
672
  def tmpfile(*args)
@@ -812,8 +777,6 @@ class Pathutil
812
777
  rb_delegate :shellescape, :to => :Shellwords, :args => :@path
813
778
  rb_delegate :mkdir, :to => :Dir, :args => :@path
814
779
 
815
- # --------------------------------------------------------------------------
816
- # alias last basename, alias first dirname, alias ext extname
817
780
  # --------------------------------------------------------------------------
818
781
 
819
782
  alias + join
@@ -4,7 +4,7 @@ class Pathutil
4
4
 
5
5
  # ------------------------------------------------------------------------
6
6
  # Wraps around YAML and SafeYAML to provide alternatives to Rubies.
7
- # @note We default aliases to yes so we can detect if you explicit true.
7
+ # Note: We default aliases to yes so we can detect if you explicit true.
8
8
  # ------------------------------------------------------------------------
9
9
 
10
10
  def load_yaml(data, safe: true, whitelist_classes: [], whitelist_symbols: [], aliases: :yes)
@@ -32,6 +32,8 @@ class Pathutil
32
32
  end
33
33
  end
34
34
 
35
+ # ------------------------------------------------------------------------
36
+ # Make a temporary name suitable for temporary files and directories.
35
37
  # ------------------------------------------------------------------------
36
38
 
37
39
  def make_tmpname(prefix = "", suffix = nil, root = nil)
@@ -46,6 +48,7 @@ class Pathutil
46
48
 
47
49
  # ------------------------------------------------------------------------
48
50
 
51
+ private
49
52
  def tmpname_suffix(suffix)
50
53
  suffix = suffix.join("-") if suffix.is_a?(Array)
51
54
  suffix = suffix.gsub(/\A\-/, "") unless !suffix || suffix.empty?
@@ -53,6 +56,7 @@ class Pathutil
53
56
  end
54
57
 
55
58
  # ------------------------------------------------------------------------
59
+ # Cleanup the temp name prefix, joining if necessary.
56
60
  # rubocop:disable Style/ParallelAssignment
57
61
  # ------------------------------------------------------------------------
58
62
 
@@ -73,6 +77,7 @@ class Pathutil
73
77
  end
74
78
 
75
79
  # ------------------------------------------------------------------------
80
+ # Wrap around, cleanup, deprecate and use SafeYAML.
76
81
  # rubocop:enable Style/ParallelAssignment
77
82
  # ------------------------------------------------------------------------
78
83
 
@@ -5,5 +5,5 @@
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
7
  class Pathutil
8
- VERSION = "0.4.2"
8
+ VERSION = "0.6.0"
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pathutil
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordon Bedwell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-05 00:00:00.000000000 Z
11
+ date: 2016-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: forwardable-extended
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.4'
19
+ version: '2.5'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.4'
26
+ version: '2.5'
27
27
  description: Like Pathname but a little less insane.
28
28
  email:
29
29
  - jordon@envygeeks.io
@@ -57,7 +57,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
57
  version: '0'
58
58
  requirements: []
59
59
  rubyforge_project:
60
- rubygems_version: 2.5.1
60
+ rubygems_version: 2.6.2
61
61
  signing_key:
62
62
  specification_version: 4
63
63
  summary: Almost like Pathname but just a little less insane.