module Rexpro::Message::Base::ClassMethods

Attributes

type[R]

Public Instance Methods

define_fields(hsh) click to toggle source
# File lib/rexpro/message.rb, line 92
def define_fields(hsh)
  hsh.each do |name, method|
    fields << name
    field_methods[name] = method
    attr_accessor(name)
  end
end
define_meta_fields(*names) click to toggle source
# File lib/rexpro/message.rb, line 100
def define_meta_fields(*names)
  names.each do |name|
    # RexPro uses mixedCase keys in meta
    name_parts = name.to_s.split('_')
    name_parts[1..-1].each(&:capitalize!)
    rexpro_name = name_parts.join

    define_method(name) { meta[rexpro_name] }
    define_method("#{name}=") { |value| meta[rexpro_name] = value }
  end
end
field_methods() click to toggle source
# File lib/rexpro/message.rb, line 88
def field_methods
  @field_methods ||= {}
end
fields() click to toggle source
# File lib/rexpro/message.rb, line 84
def fields
  @fields ||= []
end
type=(type) click to toggle source
# File lib/rexpro/message.rb, line 79
def type=(type)
  @type = type
  Message.types[type] = self
end