Method: Jkr::Cpufreq::Config#initialize

Defined in:
lib/jkr/cpufreq.rb

#initialize(*args) ⇒ Config

Returns a new instance of Config.



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/jkr/cpufreq.rb', line 44

def initialize(*args)
  @cpuconfigs = \
  if args.size == 0
    self.current_config
  elsif args.size == 1 && args.first.is_a?(Hash)
    arg = args.first
    if ! arg[:governor]
      raise ArgumentError.new("governor must be specified.")
    elsif arg[:governor] == "userspace" && ! arg[:frequency]
      raise ArgumentError.new("parameter :frequency is required for userspece governor")
    end

    Array.new(Cpufreq.num_cpu()){|idx|
      CpuConfig.new(idx, arg[:governor], arg)
    }
  elsif args.size == 1 && args.first.is_a?(Array) && args.first.every?{|arg| arg.is_a? CpuConfig}
    args.first
  elsif args.size == Cpufreq.num_cpu() && args.every?{|arg| arg.is_a? CpuConfig}
    args
  end
end