class RocketAMF::MappingSet

Container for all mapped classes

Public Class Methods

new() click to toggle source

Creates a mapping set object and populates the default mappings

   # File lib/rocketamf/mapping/mapping_set.rb
12 def initialize
13   @as_mappings   = {}
14   @ruby_mappings = {}
15   map_defaults
16 end

Public Instance Methods

map(params) click to toggle source

Map a given AS class to a ruby class.

Use fully qualified names for both.

Example:

m.map as: 'com.example.Date', ruby: 'Example::Date'
   # File lib/rocketamf/mapping/mapping_set.rb
42 def map(params)
43   [:as, :ruby].each { |k| params[k] = params[k].to_s } # Convert params to strings
44   @as_mappings[params[:as]]     = params[:ruby]
45   @ruby_mappings[params[:ruby]] = params[:as]
46 end
map_defaults() click to toggle source

Adds required mapping configs, calling map for the required base mappings. Designed to allow extenders to take advantage of required default mappings.

   # File lib/rocketamf/mapping/mapping_set.rb
21 def map_defaults
22   map as: 'flex.messaging.messages.AbstractMessage', ruby: 'RocketAMF::Types::AbstractMessage'
23   map as: 'flex.messaging.messages.RemotingMessage', ruby: 'RocketAMF::Types::RemotingMessage'
24   map as: 'flex.messaging.messages.AsyncMessage', ruby: 'RocketAMF::Types::AsyncMessage'
25   map as: 'DSA', ruby: 'RocketAMF::Types::AsyncMessageExt'
26   map as: 'flex.messaging.messages.CommandMessage', ruby: 'RocketAMF::Types::CommandMessage'
27   map as: 'DSC', ruby: 'RocketAMF::Types::CommandMessageExt'
28   map as: 'flex.messaging.messages.AcknowledgeMessage', ruby: 'RocketAMF::Types::AcknowledgeMessage'
29   map as: 'DSK', ruby: 'RocketAMF::Types::AcknowledgeMessageExt'
30   map as: 'flex.messaging.messages.ErrorMessage', ruby: 'RocketAMF::Types::ErrorMessage'
31   self
32 end