Class: RocketAMF::MappingSet
- Inherits:
-
Object
- Object
- RocketAMF::MappingSet
- Defined in:
- lib/rocketamf/class_mapping.rb
Overview
Container for all mapped classes
Instance Method Summary collapse
-
#get_as_class_name(class_name) ⇒ Object
Returns the AS class name for the given ruby class name, returing nil if not found.
-
#get_ruby_class_name(class_name) ⇒ Object
Returns the ruby class name for the given AS class name, returing nil if not found.
-
#initialize ⇒ MappingSet
constructor
Creates a mapping set object and populates the default mappings.
-
#map(params) ⇒ Object
Map a given AS class to a ruby class.
-
#map_defaults ⇒ Object
Adds required mapping configs, calling map for the required base mappings.
Constructor Details
#initialize ⇒ MappingSet
Creates a mapping set object and populates the default mappings
8 9 10 11 12 |
# File 'lib/rocketamf/class_mapping.rb', line 8 def initialize @as_mappings = {} @ruby_mappings = {} map_defaults 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
44 45 46 |
# File 'lib/rocketamf/class_mapping.rb', line 44 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
50 51 52 |
# File 'lib/rocketamf/class_mapping.rb', line 50 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'
36 37 38 39 40 |
# File 'lib/rocketamf/class_mapping.rb', line 36 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 |
#map_defaults ⇒ Object
Adds required mapping configs, calling map for the required base mappings. Designed to allow extenders to take advantage of required default mappings.
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/rocketamf/class_mapping.rb', line 16 def 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 => 'DSA', :ruby => 'RocketAMF::Values::AsyncMessageExt' map :as => 'flex.messaging.messages.CommandMessage', :ruby => 'RocketAMF::Values::CommandMessage' map :as => 'DSC', :ruby => 'RocketAMF::Values::CommandMessageExt' map :as => 'flex.messaging.messages.AcknowledgeMessage', :ruby => 'RocketAMF::Values::AcknowledgeMessage' map :as => 'DSK', :ruby => 'RocketAMF::Values::AcknowledgeMessageExt' map :as => 'flex.messaging.messages.ErrorMessage', :ruby => 'RocketAMF::Values::ErrorMessage' self end |