Module: Smalruby::Util

Included in:
Hardware::NeoPixel
Defined in:
lib/smalruby/util.rb

Class Method Summary collapse

Class Method Details

.osx?Boolean

プラットフォームがMac OS Xかどうかを返す

Returns:

  • (Boolean)

    Mac OS Xの場合はtrue、そうでない場合はfalseを返す



37
38
39
# File 'lib/smalruby/util.rb', line 37

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


15
16
17
18
# File 'lib/smalruby/util.rb', line 15

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

.process_options(options, defaults) ⇒ Object



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

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(', ')
    fail ArgumentError, "Unknown options: #{s}"
  end
  defaults.merge(options)
end

.raspberrypi?Boolean

プラットフォームがRaspberry Piかどうかを返す

Returns:

  • (Boolean)

    Raspberry Piの場合はtrue、そうでない場合はfalseを返す



30
31
32
# File 'lib/smalruby/util.rb', line 30

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

.windows?Boolean

プラットフォームがWindowsかどうかを返す

Returns:

  • (Boolean)

    Windowsの場合はtrue、そうでない場合はfalseを返す



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

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