Method: RCAP::Base::Alert.from_yaml_data
- Defined in:
- lib/rcap/base/alert.rb
.from_yaml_data(alert_yaml_data) ⇒ Alert
Initialise an Alert object from a hash reutrned from YAML.load.
328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 |
# File 'lib/rcap/base/alert.rb', line 328 def self.from_yaml_data(alert_yaml_data) new do |alert| alert.identifier = RCAP.strip_if_given(alert_yaml_data[ IDENTIFIER_YAML]) alert.sender = RCAP.strip_if_given(alert_yaml_data[ SENDER_YAML]) alert.sent = RCAP.parse_datetime(alert_yaml_data[ SENT_YAML]) alert.status = RCAP.strip_if_given(alert_yaml_data[ STATUS_YAML]) alert.msg_type = RCAP.strip_if_given(alert_yaml_data[ MSG_TYPE_YAML]) alert.source = RCAP.strip_if_given(alert_yaml_data[ SOURCE_YAML]) alert.scope = RCAP.strip_if_given(alert_yaml_data[ SCOPE_YAML]) alert.restriction = RCAP.strip_if_given(alert_yaml_data[ RESTRICTION_YAML]) Array(alert_yaml_data[ ADDRESSES_YAML]).each do |address| alert.addresses << address.strip end Array(alert_yaml_data[ CODES_YAML]).each do |code| alert.codes << code.strip end alert.note = alert_yaml_data[ NOTE_YAML] Array(alert_yaml_data[ REFERENCES_YAML]).each do |reference| alert.references << reference.strip end Array(alert_yaml_data[ INCIDENTS_YAML]).each do |incident| alert.incidents << incident.strip end Array(alert_yaml_data[ INFOS_YAML]).each do |info_yaml_data| alert.infos << alert.info_class.from_yaml_data(info_yaml_data) end end end |