6 Commits

5 changed files with 23 additions and 13 deletions

View File

@@ -14,16 +14,18 @@ GEM
ffi (1.17.2-x86_64-linux-gnu)
ffi-win32-extensions (1.0.4)
ffi
fiddle (1.1.8)
gosu (1.4.6)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
ircparser (1.0.0)
libui (0.1.2-x64-mingw)
libui (0.2.0-x64-mingw-ucrt)
fiddle
logger (1.7.0)
mutex_m (0.3.0)
rake (13.3.0)
rexml (3.4.2)
rubyzip (3.0.2)
rexml (3.4.4)
rubyzip (3.1.1)
sdl2-bindings (0.2.3)
ffi (~> 1.15)
websocket (1.2.11)

View File

@@ -24,8 +24,9 @@ class W3DHub
def to_json(env)
d = @data.dup
d[:avatar_uri] = @avatar_uri
d[:access_token_expiry] = d[:access_token_expiry].to_i
d[:access_token_expiry] = @access_token_expiry.to_i
d.to_json(env)
end

View File

@@ -114,26 +114,33 @@ class W3DHub
def normalize_path(path, base_path)
path = path.to_s.gsub("\\", "/")
return path if W3DHub.windows? # Windows is easy, or annoying, depending how you look at it...
return "#{base_path}/#{path}" if W3DHub.windows? # Windows is easy, or annoying, depending how you look at it...
constructed_path = base_path
lowercase_full_path = "#{base_path}/#{path}".downcase.strip.freeze
accepted_parts = 0
split_path = path.split("/")
split_path.each do |segment|
Dir.glob("#{constructed_path}/*").each do |part|
next unless "#{constructed_path}/#{segment}".downcase == part.downcase
constructed_path = part
# Handle edge case where a file with the same name is in a higher directory
next if File.file?(part) && part.downcase.strip != lowercase_full_path
break if File.file?(constructed_path)
constructed_path = part
accepted_parts += 1
break
end
end
# Find file if it exists, otherwise downcase the `path` sans `base_path`
if "#{base_path}/#{path}".length == constructed_path.length
# Find file if it exists else use provided path as cased
if constructed_path.downcase.strip == lowercase_full_path
constructed_path
elsif accepted_parts.positive?
"#{constructed_path}/#{split_path[accepted_parts..].join('/')}"
else
"#{base_path}/#{path.downcase}"
"#{base_path}/#{path}" # File doesn't exist, case doesn't matter.
end
end

View File

@@ -53,4 +53,4 @@ class W3DHub
end
end
end
end
end

View File

@@ -1,4 +1,4 @@
class W3DHub
DIR_NAME = "W3DHubAlt"
VERSION = "0.8.0"
DIR_NAME = "W3DHubAlt".freeze
VERSION = "0.8.1".freeze
end