Sha256: c69c51c1114c6d65838c3b9952eb7c151bc3a37dc09c9a6f705246a5b7181628
Contents?: true
Size: 1.05 KB
Versions: 3
Compression:
Stored size: 1.05 KB
Contents
require 'securerandom' module Rack::App::Utils extend self # Normalizes URI path. # # Strips off trailing slash and ensures there is a leading slash. # # normalize_path("/foo") # => "/foo" # normalize_path("/foo/") # => "/foo" # normalize_path("foo") # => "/foo" # normalize_path("") # => "/" def normalize_path(path) path = "/#{path}" path.squeeze!('/') path.sub!(%r{/+\Z}, '') path = '/' if path == '' path end def pwd(*path_parts) root_folder =if ENV['BUNDLE_GEMFILE'] ENV['BUNDLE_GEMFILE'].split(File::Separator)[0..-2].join(File::Separator) else Dir.pwd.to_s end return File.join(root_folder,*path_parts) end def uuid ary = SecureRandom.random_bytes(16).unpack("NnnnnN") ary[2] = (ary[2] & 0x0fff) | 0x4000 ary[3] = (ary[3] & 0x3fff) | 0x8000 "%08x-%04x-%04x-%04x-%04x%08x" % ary end def join(*url_path_parts) File.join(*url_path_parts).gsub(File::Separator,'/').sub(/^\/?(.*)$/,'/\1') end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rack-app-0.20.0 | lib/rack/app/utils.rb |
rack-app-0.19.0 | lib/rack/app/utils.rb |
rack-app-0.18.0 | lib/rack/app/utils.rb |