Class: Jkr::Cpufreq::Config
- Inherits:
-
Object
- Object
- Jkr::Cpufreq::Config
- Defined in:
- lib/jkr/cpufreq.rb
Defined Under Namespace
Classes: CpuConfig
Instance Attribute Summary collapse
-
#cpuconfigs ⇒ Object
readonly
Returns the value of attribute cpuconfigs.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(*args) ⇒ Config
constructor
A new instance of Config.
- #to_s ⇒ Object
Constructor Details
#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 |
Instance Attribute Details
#cpuconfigs ⇒ Object (readonly)
Returns the value of attribute cpuconfigs.
42 43 44 |
# File 'lib/jkr/cpufreq.rb', line 42 def cpuconfigs @cpuconfigs end |
Class Method Details
.get ⇒ Object
66 67 68 69 70 71 |
# File 'lib/jkr/cpufreq.rb', line 66 def self.get() cpuconfigs = Array.new(Cpufreq.num_cpu){|cpu_idx| CpuConfig.read_config(cpu_idx) } self.new(cpuconfigs) end |
.set(config) ⇒ Object
73 74 75 76 77 |
# File 'lib/jkr/cpufreq.rb', line 73 def self.set(config) config.cpuconfigs.each_with_index{|cpuconfig, idx| CpuConfig.write_config(idx, cpuconfig) } end |
Instance Method Details
#to_s ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/jkr/cpufreq.rb', line 79 def to_s cpuconfig = @cpuconfigs.first ret = cpuconfig.governor suffix = case cpuconfig.governor when /\Aperformance\Z/ nil when /\Apowersave\Z/ nil when /\Auserspace\Z/ cpuconfig.params[:frequency] / 1000000.0 when /\Aondemand\Z/ nil end if suffix ret += ":freq=#{suffix}GHz" end ret end |