Class: EventStoreClient::StoreAdapter::InMemory

Inherits:
Object
  • Object
show all
Defined in:
lib/event_store_client/store_adapter/in_memory.rb

Defined Under Namespace

Classes: Response

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#event_storeObject (readonly)

Returns the value of attribute event_store.



12
13
14
# File 'lib/event_store_client/store_adapter/in_memory.rb', line 12

def event_store
  @event_store
end

Instance Method Details

#ack(url) ⇒ Object



59
60
61
# File 'lib/event_store_client/store_adapter/in_memory.rb', line 59

def ack(url)
  # TODO: implement method body
end

#append_to_stream(stream_name, events, expected_version: nil) ⇒ Object

rubocop:disable Lint/UnusedMethodArgument,Metrics/LineLength



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/event_store_client/store_adapter/in_memory.rb', line 14

def append_to_stream(stream_name, events, expected_version: nil) # rubocop:disable Lint/UnusedMethodArgument,Metrics/LineLength
  event_store[stream_name] = [] unless event_store.key?(stream_name)

  [events].flatten.each do |event|
    event_store[stream_name].unshift(
      'eventId' => event.id,
      'data' => event.data,
      'eventType' => event.type,
      'metaData' => event.,
      'positionEventNumber' => event_store[stream_name].length
    )
  end
end

#consume_feed(stream_name, subscription_name) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/event_store_client/store_adapter/in_memory.rb', line 43

def consume_feed(
  stream_name,
  subscription_name,
  **
)
  # TODO: implement method body
end

#delete_stream(stream_name, hard_delete: false) ⇒ Object

rubocop:disable Lint/UnusedMethodArgument



51
52
53
# File 'lib/event_store_client/store_adapter/in_memory.rb', line 51

def delete_stream(stream_name, hard_delete: false) # rubocop:disable Lint/UnusedMethodArgument
  event_store.delete(stream_name)
end

#join_streams(name, streams) ⇒ Object



63
# File 'lib/event_store_client/store_adapter/in_memory.rb', line 63

def join_streams(name, streams); end


55
56
57
# File 'lib/event_store_client/store_adapter/in_memory.rb', line 55

def link_to(stream_name, events, **)
  append_to_stream(stream_name, events)
end

#read(stream_name, direction: 'forward', start: 0, resolve_links: nil) ⇒ Object



28
29
30
31
32
33
34
35
36
37
# File 'lib/event_store_client/store_adapter/in_memory.rb', line 28

def read(stream_name, direction: 'forward', start: 0, resolve_links: nil)
  response =
    if direction == 'forward'
      read_stream_forward(stream_name, start: start)
    else
      read_stream_backward(stream_name, start: start)
    end

  Response.new(response.to_json, 200)
end

#subscribe_to_stream(stream_name, subscription_name) ⇒ Object



39
40
41
# File 'lib/event_store_client/store_adapter/in_memory.rb', line 39

def subscribe_to_stream(stream_name, subscription_name, **)
  # TODO: implement method body
end