Method: Qpid::Proton::Codec::Mapping#initialize

Defined in:
lib/codec/mapping.rb

#initialize(code, name, klasses = nil, getter = nil) ⇒ Mapping

Creates a new mapping.

Arguments

  • code - the AMQP code for this type

  • name - the AMQP name for this type

  • klasses - native Ruby classes that are mapped to this AMQP type

  • getter - overrides the get method for the type



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/codec/mapping.rb', line 42

def initialize(code, name, klasses = nil, getter = nil)

  @code = code
  @name = name

  @@by_code[code] = self

  unless klasses.nil?
    klasses.each do |klass|
      raise "entry exists for #{klass}" if @@by_class.keys.include? klass
      @@by_class[klass] = self unless klass.nil?
    end
  end

  @put_method = (name + "=").intern

  if getter.nil?
    @get_method = name.intern
  else
    @get_method = getter.intern
  end
end