Class: RazorRisk::Razor::Connectivity::Razor3::MessageMap

Inherits:
Object
  • Object
show all
Includes:
Pantheios, Xqsr3::Quality::ParameterChecking
Defined in:
lib/razor_risk/razor/connectivity/razor_3/message_map.rb

Overview

Class that provides the corresponding server instance for a Razor (3) message

The class supports configuration-based operation, by initialising an instance from a mapping object, and fixed (hard-coded) mapping using the DefaultInstance constant

Defined Under Namespace

Modules: MessageMap_Constants

Constant Summary collapse

DefaultInstance =
self.new nil, no_trace: true

Instance Method Summary collapse

Constructor Details

#initialize(mappings, **options) ⇒ MessageMap

Initialises an instance from given mappings

Parameters:

  • mappings (::Hash)
  • options (::Hash)


111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/razor_risk/razor/connectivity/razor_3/message_map.rb', line 111

def initialize mappings, **options

    trace ParamNames[ :mappings, :options ], mappings, options unless options[:no_trace]

    check_parameter mappings, 'mappings', type: ::Hash, allow_nil: true

    unless mappings

        mappings = {}

        MessageMap_Constants::DefaultMappings_Reverse.each do |server_name, message_list|

            message_list.each do |message|

                message_name = message.to_s.strip.downcase

                mappings[message_name] = server_name
            end
        end
    end

    @mappings = mappings
end

Instance Method Details

#lookup_server(request_name, **options) ⇒ Object



137
138
139
140
141
142
143
144
145
146
# File 'lib/razor_risk/razor/connectivity/razor_3/message_map.rb', line 137

def lookup_server request_name, **options

    trace ParamNames[ :request_name, :options ], request_name, options

    check_parameter request_name, 'request_name', types: [ ::String, ::Symbol ], reject_empty: true

    request_name = request_name.to_s.strip.downcase

    return @mappings[request_name]
end