mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2025-12-17 01:32:34 +00:00
Compare commits
6 Commits
d67ffa14a3
...
v0.8.1
| Author | SHA1 | Date | |
|---|---|---|---|
| d92a8753d8 | |||
| b299593076 | |||
| ce10cdc658 | |||
| 5a3f350015 | |||
| d53299e904 | |||
| d12d3ff6b8 |
@@ -14,16 +14,18 @@ GEM
|
|||||||
ffi (1.17.2-x86_64-linux-gnu)
|
ffi (1.17.2-x86_64-linux-gnu)
|
||||||
ffi-win32-extensions (1.0.4)
|
ffi-win32-extensions (1.0.4)
|
||||||
ffi
|
ffi
|
||||||
|
fiddle (1.1.8)
|
||||||
gosu (1.4.6)
|
gosu (1.4.6)
|
||||||
i18n (1.14.7)
|
i18n (1.14.7)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
ircparser (1.0.0)
|
ircparser (1.0.0)
|
||||||
libui (0.1.2-x64-mingw)
|
libui (0.2.0-x64-mingw-ucrt)
|
||||||
|
fiddle
|
||||||
logger (1.7.0)
|
logger (1.7.0)
|
||||||
mutex_m (0.3.0)
|
mutex_m (0.3.0)
|
||||||
rake (13.3.0)
|
rake (13.3.0)
|
||||||
rexml (3.4.2)
|
rexml (3.4.4)
|
||||||
rubyzip (3.0.2)
|
rubyzip (3.1.1)
|
||||||
sdl2-bindings (0.2.3)
|
sdl2-bindings (0.2.3)
|
||||||
ffi (~> 1.15)
|
ffi (~> 1.15)
|
||||||
websocket (1.2.11)
|
websocket (1.2.11)
|
||||||
|
|||||||
@@ -24,8 +24,9 @@ class W3DHub
|
|||||||
|
|
||||||
def to_json(env)
|
def to_json(env)
|
||||||
d = @data.dup
|
d = @data.dup
|
||||||
|
|
||||||
d[:avatar_uri] = @avatar_uri
|
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)
|
d.to_json(env)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -114,26 +114,33 @@ class W3DHub
|
|||||||
|
|
||||||
def normalize_path(path, base_path)
|
def normalize_path(path, base_path)
|
||||||
path = path.to_s.gsub("\\", "/")
|
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
|
constructed_path = base_path
|
||||||
|
lowercase_full_path = "#{base_path}/#{path}".downcase.strip.freeze
|
||||||
|
|
||||||
|
accepted_parts = 0
|
||||||
split_path = path.split("/")
|
split_path = path.split("/")
|
||||||
split_path.each do |segment|
|
split_path.each do |segment|
|
||||||
Dir.glob("#{constructed_path}/*").each do |part|
|
Dir.glob("#{constructed_path}/*").each do |part|
|
||||||
next unless "#{constructed_path}/#{segment}".downcase == part.downcase
|
next unless "#{constructed_path}/#{segment}".downcase == part.downcase
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
constructed_path = part
|
constructed_path = part
|
||||||
|
accepted_parts += 1
|
||||||
break if File.file?(constructed_path)
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Find file if it exists, otherwise downcase the `path` sans `base_path`
|
# Find file if it exists else use provided path as cased
|
||||||
if "#{base_path}/#{path}".length == constructed_path.length
|
if constructed_path.downcase.strip == lowercase_full_path
|
||||||
constructed_path
|
constructed_path
|
||||||
|
elsif accepted_parts.positive?
|
||||||
|
"#{constructed_path}/#{split_path[accepted_parts..].join('/')}"
|
||||||
else
|
else
|
||||||
"#{base_path}/#{path.downcase}"
|
"#{base_path}/#{path}" # File doesn't exist, case doesn't matter.
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
class W3DHub
|
class W3DHub
|
||||||
DIR_NAME = "W3DHubAlt"
|
DIR_NAME = "W3DHubAlt".freeze
|
||||||
VERSION = "0.8.0"
|
VERSION = "0.8.1".freeze
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user