Sha256: 48725dd77357b856c1721153665ca62d0f73e6fc300341a12b6798a0fc45d611

Contents?: true

Size: 445 Bytes

Versions: 2

Compression:

Stored size: 445 Bytes

Contents

require 'json'
require 'virtus'

class AdamSignals::Message
  include Virtus.value_object

  values do
    attribute :source_type, Symbol
    attribute :source_address, String
    attribute :auth_address, String
    attribute :body, String
    attribute :user, Hash
  end

  def self.from_json(json)
    new JSON.parse(json)
  end

  def to_json
    JSON.generate attributes
  end

  def to_s
    "#<#{self.class.name} #{attributes}>"
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
adam_signals-1.1.0 lib/adam_signals/message.rb
adam_signals-1.0.0 lib/adam_signals/message.rb