Sha256: abdd9172bd2a7a0c04534ea46b416a372a9215145099a7663d164dbfa9d4e9c6

Contents?: true

Size: 1.35 KB

Versions: 36

Compression:

Stored size: 1.35 KB

Contents

# -*- coding: utf-8 -*-
module Smalruby
  module Util
    module_function

    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

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

    # プラットフォームがWindowsかどうかを返す
    #
    # @return [Boolean] Windowsの場合はtrue、そうでない場合はfalseを返す
    def windows?
      ENV['SMALRUBY_WINDOWS_MODE'] || /windows|mingw|cygwin/i =~ RbConfig::CONFIG['arch']
    end

    # プラットフォームがRaspberry Piかどうかを返す
    #
    # @return [Boolean] Raspberry Piの場合はtrue、そうでない場合はfalseを返す
    def raspberrypi?
      ENV['SMALRUBY_RASPBERRYPI_MODE'] || /armv6l-linux-eabihf/i =~ RbConfig::CONFIG['arch']
    end

    # プラットフォームがMac OS Xかどうかを返す
    #
    # @return [Boolean] Mac OS Xの場合はtrue、そうでない場合はfalseを返す
    def osx?
      ENV['SMALRUBY_OSX_MODE'] || /darwin/i =~ RbConfig::CONFIG['arch']
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
smalruby-0.1.11-x86-mingw32 lib/smalruby/util.rb
smalruby-0.1.11 lib/smalruby/util.rb
smalruby-0.1.10-x86-mingw32 lib/smalruby/util.rb
smalruby-0.1.10 lib/smalruby/util.rb
smalruby-0.1.9-x86-mingw32 lib/smalruby/util.rb
smalruby-0.1.9 lib/smalruby/util.rb
smalruby-0.1.8-x86-mingw32 lib/smalruby/util.rb
smalruby-0.1.8 lib/smalruby/util.rb
smalruby-0.1.7-x86-mingw32 lib/smalruby/util.rb
smalruby-0.1.7 lib/smalruby/util.rb
smalruby-0.1.6-x86-mingw32 lib/smalruby/util.rb
smalruby-0.1.6 lib/smalruby/util.rb
smalruby-0.1.5-x86-mingw32 lib/smalruby/util.rb
smalruby-0.1.5 lib/smalruby/util.rb
smalruby-0.1.4-x86-mingw32 lib/smalruby/util.rb
smalruby-0.1.4 lib/smalruby/util.rb
smalruby-0.1.3-x86-mingw32 lib/smalruby/util.rb
smalruby-0.1.3 lib/smalruby/util.rb
smalruby-0.1.2-x86-mingw32 lib/smalruby/util.rb
smalruby-0.1.2 lib/smalruby/util.rb