Skip to content
Kward Search API index

Class: Kward::PluginResult

Inherits:
Object
  • Object
show all
Defined in:
lib/kward/plugins/actions.rb

Overview

Structured frontend and RPC result returned by typed commands and actions.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message: nil, data: nil) ⇒ PluginResult

Returns a new instance of PluginResult.



356
357
358
359
360
# File 'lib/kward/plugins/actions.rb', line 356

def initialize(message: nil, data: nil)
  @message = message.nil? ? nil : message.to_s
  @data = normalize_json(data)
  freeze
end

Instance Attribute Details

#data ⇒ Object (readonly)



347
348
349
# File 'lib/kward/plugins/actions.rb', line 347

def data
  @data
end

#message ⇒ Object (readonly)



347
348
349
# File 'lib/kward/plugins/actions.rb', line 347

def message
  @message
end

Class Method Details

.wrap(value) ⇒ Object



349
350
351
352
353
354
# File 'lib/kward/plugins/actions.rb', line 349

def self.wrap(value)
  return value if value.is_a?(self)
  return new if value.nil?

  new(message: value.to_s)
end

Instance Method Details

#to_h ⇒ Object



362
363
364
# File 'lib/kward/plugins/actions.rb', line 362

def to_h
  { message: message, data: data }.compact
end