Class: RocketAMF::ClassMapping::MappingSet

Inherits:
Object
  • Object
show all
Defined in:
lib/rocketamf/class_mapping.rb

Overview

Container for all mapped classes

Instance Method Summary collapse

Constructor Details

#initializeMappingSet

:nodoc:



78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/rocketamf/class_mapping.rb', line 78

def initialize #:nodoc:
  @as_mappings = {}
  @ruby_mappings = {}

  # Map defaults
  map :as => 'flex.messaging.messages.AbstractMessage', :ruby => 'RocketAMF::Values::AbstractMessage'
  map :as => 'flex.messaging.messages.RemotingMessage', :ruby => 'RocketAMF::Values::RemotingMessage'
  map :as => 'flex.messaging.messages.AsyncMessage', :ruby => 'RocketAMF::Values::AsyncMessage'
  map :as => 'flex.messaging.messages.CommandMessage', :ruby => 'RocketAMF::Values::CommandMessage'
  map :as => 'flex.messaging.messages.AcknowledgeMessage', :ruby => 'RocketAMF::Values::AcknowledgeMessage'
  map :as => 'flex.messaging.messages.ErrorMessage', :ruby => 'RocketAMF::Values::ErrorMessage'
  map :as => 'flex.messaging.io.ArrayCollection', :ruby => 'RocketAMF::Values::ArrayCollection'
end

Instance Method Details

#get_as_class_name(class_name) ⇒ Object

Returns the AS class name for the given ruby class name, returing nil if not found



107
108
109
# File 'lib/rocketamf/class_mapping.rb', line 107

def get_as_class_name class_name #:nodoc:
  @ruby_mappings[class_name.to_s]
end

#get_ruby_class_name(class_name) ⇒ Object

Returns the ruby class name for the given AS class name, returing nil if not found



113
114
115
# File 'lib/rocketamf/class_mapping.rb', line 113

def get_ruby_class_name class_name #:nodoc:
  @as_mappings[class_name.to_s]
end

#map(params) ⇒ Object

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'


99
100
101
102
103
# File 'lib/rocketamf/class_mapping.rb', line 99

def map params
  [:as, :ruby].each {|k| params[k] = params[k].to_s} # Convert params to strings
  @as_mappings[params[:as]] = params[:ruby]
  @ruby_mappings[params[:ruby]] = params[:as]
end