Class: RSMP::Version

Inherits:
Message show all
Defined in:
lib/rsmp/message.rb

Overview

Version message, lists supported versions and SXL information.

Constant Summary

Constants included from MessageSxlCodec

MessageSxlCodec::SXL_ITEM_SHAPES

Instance Attribute Summary

Attributes inherited from Message

#attributes, #direction, #json, #now, #out, #timestamp

Instance Method Summary collapse

Methods inherited from Message

#attribute, bin_to_chars, build, build_alarm, create_message_instance, #ensure_message_id, #generate_json, #inspect, #m_id, #m_id_short, make_m_id, message_types, parse_attributes, shorten_m_id, #type, #valid?, #validate, validate_attributes_structure, #validate_id?, validate_message_type, validate_mtype_field, #validate_type?, validate_type_field

Methods included from MessageSxlCodec

#decode_for, #encode_for, included

Constructor Details

#initialize(attributes = {}) ⇒ Version

Returns a new instance of Version.



213
214
215
216
217
# File 'lib/rsmp/message.rb', line 213

def initialize(attributes = {})
  super({
    'type' => 'Version'
  }.merge attributes)
end

Instance Method Details

#request?Boolean

Returns:

  • (Boolean)


227
228
229
# File 'lib/rsmp/message.rb', line 227

def request?
  step == 'Request'
end

#response?Boolean

Returns:

  • (Boolean)


231
232
233
# File 'lib/rsmp/message.rb', line 231

def response?
  step == 'Response'
end

#site_idsObject



241
242
243
# File 'lib/rsmp/message.rb', line 241

def site_ids
  attribute('siteId').map { |item| item['sId'] }
end

#stepObject



223
224
225
# File 'lib/rsmp/message.rb', line 223

def step
  @attributes['step']
end

#sxlsObject



235
236
237
238
239
# File 'lib/rsmp/message.rb', line 235

def sxls
  (@attributes['SXLS'] || []).map do |item|
    item.transform_keys(&:to_s)
  end
end

#versionsObject



219
220
221
# File 'lib/rsmp/message.rb', line 219

def versions
  attribute('RSMP').map { |item| item['vers'] }
end