lib/nexus/invision/resources/post.rb in nexus-invision-1.10.1 vs lib/nexus/invision/resources/post.rb in nexus-invision-1.10.2
- old
+ new
@@ -1,18 +1,38 @@
# typed: strict
# frozen_string_literal: true
-require "nexus/invision/value_object"
require "sorbet-runtime"
+require "nexus/invision/value_object"
+require "nexus/invision/resources/member"
+
module Nexus
module Invision
module Resources
class Post < T::Struct
include ValueObject
const :id, Integer
const :item_id, Integer
+ # const :author, Member
+ # const :date, Time
+ # const :content, String
+ # const :hidden, T::Boolean
+ # const :url, String
+ # const :reactions, T::Hash[String, T::Array[String]]
+
+ class << self
+ extend T::Sig
+
+ sig { params(response: T::Hash[String, T.untyped]).returns(Post) }
+ def from_response(response)
+ Post.new(
+ id: response["id"],
+ item_id: response["item_id"],
+ )
+ end
+ end
end
end
end
end