class WmiLite::Wmi::Instance

Attributes

wmi_ole_object[R]

Public Class Methods

new(wmi_ole_object) click to toggle source
# File lib/wmi-lite/wmi_instance.rb, line 24
def initialize(wmi_ole_object)
  @wmi_ole_object = wmi_ole_object
  @property_map = wmi_ole_object_to_hash(wmi_ole_object)
end

Public Instance Methods

[](key) click to toggle source
# File lib/wmi-lite/wmi_instance.rb, line 29
def [](key)
  @property_map[key.downcase]
end

Private Instance Methods

wmi_ole_object_to_hash(wmi_object) click to toggle source
# File lib/wmi-lite/wmi_instance.rb, line 35
def wmi_ole_object_to_hash(wmi_object)
  property_map = {}
  wmi_object.properties_.each do |property|
    property_map[property.name.downcase] = wmi_object.invoke(property.name)
  end

  @wmi_ole_object = wmi_object

  property_map.freeze
end