Class: DhcpsApi::DHCPS_Struct
- Inherits:
-
FFI::Struct
- Object
- FFI::Struct
- DhcpsApi::DHCPS_Struct
- Includes:
- RubyStructAttrHelpers
- Defined in:
- lib/dhcpsapi/common.rb
Direct Known Subclasses
DATE_TIME, DHCP_BINARY_DATA, DHCP_CLASS_INFO, DHCP_CLASS_INFO_ARRAY, DHCP_CLIENT_INFO_ARRAY_V4, DHCP_CLIENT_INFO_PB, DHCP_CLIENT_INFO_PB_ARRAY, DHCP_CLIENT_INFO_V4, DHCP_CLIENT_UID, DHCP_HOST_INFO, DHCP_IP_ARRAY, DHCP_IP_RANGE, DHCP_IP_RESERVATION_INFO, DHCP_IP_RESERVATION_V4, DHCP_OPTION, DHCP_OPTION_ARRAY, DHCP_OPTION_DATA, DHCP_OPTION_DATA_ELEMENT, DHCP_OPTION_SCOPE_INFO, DHCP_OPTION_VALUE, DHCP_OPTION_VALUE_ARRAY, DHCP_RESERVATION_INFO_ARRAY, DHCP_RESERVED_SCOPE, DHCP_SEARCH_INFO, DHCP_SUBNET_ELEMENT_DATA_V4, DHCP_SUBNET_ELEMENT_INFO_ARRAY_V4, DHCP_SUBNET_INFO, DWORD_DWORD
Class Method Summary collapse
Instance Method Summary collapse
Methods included from RubyStructAttrHelpers
#dhcp_client_uid_to_mac, #ip_to_uint32, #mac_address_to_array_of_uint8, #to_string, #to_wchar_string, #uint32_to_ip, #wchar_string_length
Class Method Details
.ruby_struct_attr(func_name, *attr_names) ⇒ Object
47 48 49 50 51 |
# File 'lib/dhcpsapi/common.rb', line 47 def self.ruby_struct_attr(func_name, *attr_names) attr_names.each do |attr_name| define_method("#{attr_name}_as_ruby_struct_attr") { send(func_name, self[attr_name])} end end |
Instance Method Details
#as_ruby_struct ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/dhcpsapi/common.rb', line 53 def as_ruby_struct members.inject({}) do |all, current| all[current] = if respond_to?("#{current}_as_ruby_struct_attr") send("#{current}_as_ruby_struct_attr") elsif self[current].is_a?(DHCPS_Struct) self[current].as_ruby_struct else self[current] end all end end |