Class: RSMP::Version

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

Overview

Version message, lists supported versions and SXL information.

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

Constructor Details

#initialize(attributes = {}) ⇒ Version

Returns a new instance of Version.



211
212
213
214
215
# File 'lib/rsmp/message.rb', line 211

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

Instance Method Details

#request?Boolean

Returns:

  • (Boolean)


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

def request?
  step == 'Request'
end

#response?Boolean

Returns:

  • (Boolean)


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

def response?
  step == 'Response'
end

#site_idsObject



239
240
241
# File 'lib/rsmp/message.rb', line 239

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

#stepObject



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

def step
  @attributes['step']
end

#sxlsObject



233
234
235
236
237
# File 'lib/rsmp/message.rb', line 233

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

#versionsObject



217
218
219
# File 'lib/rsmp/message.rb', line 217

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