Method: Rexpro::Message::Base::ClassMethods#define_meta_fields

Defined in:
lib/rexpro/message.rb

#define_meta_fields(*names) ⇒ Object



102
103
104
105
106
107
108
109
110
111
112
# File 'lib/rexpro/message.rb', line 102

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