class RubyEventStore::Browser::GetStream

Attributes

routing[R]
stream_name[R]

Public Class Methods

new(routing:, stream_name:, related_streams_query:) click to toggle source
# File lib/ruby_event_store/browser/get_stream.rb, line 4
def initialize(routing:, stream_name:, related_streams_query:)
  @routing = routing
  @stream_name = stream_name
  @related_streams_query = related_streams_query
end

Public Instance Methods

as_json() click to toggle source
# File lib/ruby_event_store/browser/get_stream.rb, line 10
def as_json
  {
    data: {
      id: stream_name,
      type: "streams",
      attributes: {
        related_streams: related_streams,
      },
      relationships: {
        events: {
          links: {
            self: routing.paginated_events_from_stream_url(id: stream_name),
          }
        }
      }
    }
  }
end

Private Instance Methods