Sha256: 9fb9e44ab7715558629524271f7ebd30d589a3851288201d3594f436e081a6a9

Contents?: true

Size: 650 Bytes

Versions: 104

Compression:

Stored size: 650 Bytes

Contents

require 'pathname'
require 'hike/normalized_array'

module Hike
  # `Paths` is an internal collection for tracking path strings.
  class Paths < NormalizedArray
    def initialize(root = ".")
      @root = Pathname.new(root)
      super()
    end

    # Relative paths added to this array are expanded relative to `@root`.
    #
    #     paths = Paths.new("/usr/local")
    #     paths << "tmp"
    #     paths << "/tmp"
    #
    #     paths
    #     # => ["/usr/local/tmp", "/tmp"]
    #
    def normalize_element(path)
      path = Pathname.new(path)
      path = @root.join(path) if path.relative?
      path.expand_path.to_s
    end
  end
end

Version data entries

104 entries across 82 versions & 21 rubygems

Version Path
arcabouco-0.2.13 vendor/bundle/gems/hike-1.2.3/lib/hike/paths.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/hike-1.2.3/lib/hike/paths.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/hike-1.2.3/lib/hike/paths.rb
active_mailer-0.0.10 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/hike-1.2.1/lib/hike/paths.rb
judge-2.0.5 vendor/bundle/ruby/2.1.0/gems/hike-1.2.1/lib/hike/paths.rb
hike-2.1.3 lib/hike/paths.rb
hike-2.1.2 lib/hike/paths.rb
hike-2.1.1 lib/hike/paths.rb
hike-2.1.0 lib/hike/paths.rb
hike-2.0.0 lib/hike/paths.rb
challah-1.0.0 vendor/bundle/gems/hike-1.2.3/lib/hike/paths.rb
swipe-rails-0.0.5 vendor/bundle/gems/hike-1.2.3/lib/hike/paths.rb
active_mailer-0.0.9 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/hike-1.2.1/lib/hike/paths.rb
active_mailer-0.0.8 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/hike-1.2.1/lib/hike/paths.rb
active_mailer-0.0.7 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/hike-1.2.1/lib/hike/paths.rb
active_mailer-0.0.6 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/hike-1.2.1/lib/hike/paths.rb
hike-1.2.3 lib/hike/paths.rb
font-awesome-rails-3.1.1.2 vendor/ruby/1.9.1/gems/hike-1.2.1/lib/hike/paths.rb
font-awesome-rails-3.1.1.2 vendor/ruby/2.0.0/gems/hike-1.2.1/lib/hike/paths.rb
font-awesome-rails-3.1.1.2 vendor/ruby/1.9.1/gems/hike-1.2.2/lib/hike/paths.rb