Class: AMF::ClassMapping::MappingSet

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

Overview

Container for all mapped classes

Instance Method Summary collapse

Constructor Details

#initializeMappingSet

:nodoc:



64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/amf/class_mapping.rb', line 64

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

  # Map defaults
  map :as => 'flex.messaging.messages.AbstractMessage', :ruby => 'AMF::Values::AbstractMessage'
  map :as => 'flex.messaging.messages.RemotingMessage', :ruby => 'AMF::Values::RemotingMessage'
  map :as => 'flex.messaging.messages.AsyncMessage', :ruby => 'AMF::Values::AsyncMessage'
  map :as => 'flex.messaging.messages.CommandMessage', :ruby => 'AMF::Values::CommandMessage'
  map :as => 'flex.messaging.messages.AcknowledgeMessage', :ruby => 'AMF::Values::AcknowledgeMessage'
  map :as => 'flex.messaging.messages.ErrorMessage', :ruby => 'AMF::Values::ErrorMessage'
  map :as => 'flex.messaging.io.ArrayCollection', :ruby => 'AMF::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



93
94
95
# File 'lib/amf/class_mapping.rb', line 93

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



99
100
101
# File 'lib/amf/class_mapping.rb', line 99

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'


85
86
87
88
89
# File 'lib/amf/class_mapping.rb', line 85

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