Module: MessageStore::Controls::Get

Defined in:
lib/message_store/controls/get.rb

Class Method Summary collapse

Class Method Details

.example(stream_name: nil, batch_size: nil, count: nil, global_position_offset: nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/message_store/controls/get.rb', line 4

def self.example(stream_name: nil, batch_size: nil, count: nil, global_position_offset: nil)
  stream_name ||= StreamName.example
  batch_size ||= 1
  count ||= 1
  global_position_offset ||= -> (x) { x ** 2 }

  get = MessageStore::Get::Substitute.build
  get.stream_name = stream_name
  get.batch_size = batch_size

  elements = (0..(count - 1)).to_a

  elements.each do |e|
    message_data = MessageData::Read.example
    message_data.position = e
    message_data.global_position = global_position_offset.(message_data.position)

    get.items << message_data
  end

  get
end