module Sys::Proc::Concern::System

Provides Operating System related methods

This “Concern“ loads system (OS) related sub-concern (specialisation)

Public Class Methods

included(base) click to toggle source
# File lib/sys/proc/concern/system.rb, line 21
def included(base)
  # Related concern is included recursively

  base.include(base.new.__send__(:system_concern))
end

Public Instance Methods

system() click to toggle source

Identify operating system

@return [Symbol]

# File lib/sys/proc/concern/system.rb, line 31
def system
  (@system || helper.get(:system).identify).to_sym
end

Protected Instance Methods

system_concern() click to toggle source

Get operating system related concern

@return [Module]

# File lib/sys/proc/concern/system.rb, line 40
def system_concern
  inflector = helper.get(:inflector)

  begin
    inflector.resolve("sys/proc/concern/system/#{system}")
  rescue LoadError
    # m = /^cannot load such file -- #{Regexp.quote(system)}/ =~ e.to_s
    inflector.resolve('sys/proc/concern/system/generic')
  end
end