Module: Smalruby3::Util

Defined in:
lib/smalruby3/util.rb

Class Method Summary collapse

Class Method Details

.osx?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/smalruby3/util.rb', line 27

def osx?
  ENV["SMALRUBY_OSX_MODE"] || /darwin/i =~ RbConfig::CONFIG["arch"]
end


14
15
16
17
# File 'lib/smalruby3/util.rb', line 14

def print_exception(exception)
  $stderr.puts("#{exception.class}: #{exception.message}")
  $stderr.puts("        #{exception.backtrace.join("\n        ")}")
end

.process_options(options, defaults) ⇒ Object



5
6
7
8
9
10
11
12
# File 'lib/smalruby3/util.rb', line 5

def process_options(options, defaults)
  unknown_keys = options.keys - defaults.keys
  if unknown_keys.length > 0
    s = unknown_keys.map { |k| "#{k}: #{options[k].inspect}" }.join(", ")
    raise ArgumentError, "Unknown options: #{s}"
  end
  defaults.merge(options)
end

.raspberrypi?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/smalruby3/util.rb', line 23

def raspberrypi?
  ENV["SMALRUBY_RASPBERRYPI_MODE"] || /armv6l-linux-eabihf/i =~ RbConfig::CONFIG["arch"]
end

.windows?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/smalruby3/util.rb', line 19

def windows?
  ENV["SMALRUBY_WINDOWS_MODE"] || /windows|mingw|cygwin/i =~ RbConfig::CONFIG["arch"]
end