Treating Event as a Value Object in the strictest sense requires additional abstractions and internal complexity that the gem could do without, at least for now.
26 lines
731 B
Plaintext
26 lines
731 B
Plaintext
module Nostr
|
|
class Event
|
|
attr_reader pubkey: String
|
|
attr_reader created_at: Integer
|
|
attr_reader kind: Integer
|
|
attr_reader tags: Array[String]
|
|
attr_reader content: String
|
|
attr_reader id: String?|nil
|
|
attr_reader sig: String?|nil
|
|
|
|
def initialize: (pubkey: String, kind: Integer, content: String, ?created_at: Integer, ?tags: Array[String], ?id: String|nil, ?sig: String|nil) -> void
|
|
def serialize: -> [Integer, String, Integer, Integer, Array[String], String]
|
|
|
|
def to_h: -> {
|
|
id: String?|nil,
|
|
pubkey: String,
|
|
created_at: Integer,
|
|
kind: Integer,
|
|
tags: Array[String],
|
|
content: String,
|
|
sig: String?|nil
|
|
}
|
|
def ==: (Event other) -> bool
|
|
end
|
|
end
|