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!, 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.



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

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

Instance Method Details

#request?Boolean

Returns:



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

def request?
  step == 'Request'
end

#response?Boolean

Returns:



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

def response?
  step == 'Response'
end

#site_idsObject



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

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

#stepObject



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

def step
  @attributes['step']
end

#sxlsObject



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

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

#versionsObject



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

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