class Aruba::ArubaPath
Pathname for aruba files and directories
@private
Public Class Methods
Source
# File lib/aruba/aruba_path.rb, line 9 def initialize(path) @obj = [path.to_s].flatten end
Public Instance Methods
Source
# File lib/aruba/aruba_path.rb, line 51 def [](index) to_s[index] end
Return string at index
@param [Integer, Range] index
Source
# File lib/aruba/aruba_path.rb, line 44 def pop @obj.pop end
Remove last pushed component of path
@example
path = ArubaPath.new 'path/to' path.push 'dir' path.pop puts path # => path/to
Source
# File lib/aruba/aruba_path.rb, line 32 def push(p) @obj << p end
Add directory/file to path
@param [String] p
The path to be added
@example
path = ArubaPath.new 'path/to/dir.d' path << 'subdir.d # or path.push 'subdir.d puts path # => path/to/dir.d/subdir.d
Also aliased as: <<
Private Instance Methods
Source
# File lib/aruba/aruba_path.rb, line 58 def to_pathname current_path = @obj.inject do |path, element| if element.start_with?("~") || Aruba.platform.absolute_path?(element) element else File.join(path, element) end end ::Pathname.new(current_path) end
Get path