Class: Itchy::VmcatcherEvent

Inherits:
VmcatcherEnv show all
Defined in:
lib/itchy/vmcatcher_event.rb

Overview

Wraps vmcatcher event meta data.

Constant Summary collapse

KNOWN_METHOD_NAMES =

Known methods names used by this class

%w(
type
dc_description
dc_identifier
dc_title
hv_hypervisor
hv_size
hv_uri
hv_format
hv_version
sl_arch
sl_checksum_sha512
sl_comments
sl_os
sl_osversion
il_dc_identifier
ad_mpuri
filename
vo).freeze
VMCATCHER_ATTR_PREFIX =

Prefix for making vmcatcher attributes

'VMCATCHER_EVENT_'
REGISTERED_ENV_KEYS =

Known event attributes used by vmcatcher

%w(
VMCATCHER_EVENT_TYPE
VMCATCHER_EVENT_DC_DESCRIPTION
VMCATCHER_EVENT_DC_IDENTIFIER
VMCATCHER_EVENT_DC_TITLE
VMCATCHER_EVENT_HV_HYPERVISOR
VMCATCHER_EVENT_HV_SIZE
VMCATCHER_EVENT_HV_URI
VMCATCHER_EVENT_HV_FORMAT
VMCATCHER_EVENT_HV_VERSION
VMCATCHER_EVENT_SL_ARCH
VMCATCHER_EVENT_SL_CHECKSUM_SHA512
VMCATCHER_EVENT_SL_COMMENTS
VMCATCHER_EVENT_SL_OS
VMCATCHER_EVENT_SL_OSVERSION
VMCATCHER_EVENT_IL_DC_IDENTIFIER
VMCATCHER_EVENT_AD_MPURI
VMCATCHER_EVENT_FILENAME
VMCATCHER_EVENT_VO).freeze

Instance Attribute Summary

Attributes inherited from VmcatcherEnv

#attributes

Instance Method Summary collapse

Methods inherited from VmcatcherEnv

from_json, #initialize, #to_hash, #to_json, #to_pretty_json

Constructor Details

This class inherits a constructor from Itchy::VmcatcherEnv

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_id, *arguments, &block) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/itchy/vmcatcher_event.rb', line 49

def method_missing(method_id, *arguments, &block)
  if KNOWN_METHOD_NAMES.include? method_id.to_s
    self.class.send :define_method, method_id do
      temp = VMCATCHER_ATTR_PREFIX + method_id.to_s.upcase

      attributes[temp]
    end
    send(method_id)
  else
    super
  end
end

Instance Method Details

#respond_to?(method_id, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


62
63
64
65
66
67
68
# File 'lib/itchy/vmcatcher_event.rb', line 62

def respond_to?(method_id, include_private = false)
  if KNOWN_METHOD_NAMES.include? method_id.to_s
    true
  else
    super
  end
end