mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-17 05:32:55 +08:00
33 lines
554 B
Ruby
33 lines
554 B
Ruby
|
|
||
|
class Object
|
||
|
def deep_clone
|
||
|
Marshal::load(Marshal.dump(self))
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
class SystemUtils
|
||
|
|
||
|
constructor :system_wrapper
|
||
|
|
||
|
def setup
|
||
|
@tcsh_shell = nil
|
||
|
end
|
||
|
|
||
|
def tcsh_shell?
|
||
|
# once run a single time, return state determined at that execution
|
||
|
return @tcsh_shell if not @tcsh_shell.nil?
|
||
|
|
||
|
result = @system_wrapper.shell_backticks('echo $version')
|
||
|
|
||
|
if ((result[:exit_code] == 0) and (result[:output].strip =~ /^tcsh/))
|
||
|
@tcsh_shell = true
|
||
|
else
|
||
|
@tcsh_shell = false
|
||
|
end
|
||
|
|
||
|
return @tcsh_shell
|
||
|
end
|
||
|
|
||
|
end
|