Class: HttpEventstore::Api::Client
- Inherits:
-
Object
- Object
- HttpEventstore::Api::Client
- Defined in:
- lib/http_eventstore/api/client.rb
Instance Attribute Summary collapse
-
#endpoint ⇒ Object
readonly
Returns the value of attribute endpoint.
-
#page_size ⇒ Object
readonly
Returns the value of attribute page_size.
Instance Method Summary collapse
- #append_to_stream(stream_name, event, expected_version = nil) ⇒ Object
- #delete_stream(stream_name, hard_delete) ⇒ Object
-
#initialize(endpoint, port, page_size) ⇒ Client
constructor
A new instance of Client.
- #read_stream_backward(stream_name, start, count) ⇒ Object
- #read_stream_forward(stream_name, start, count, long_pool = 0) ⇒ Object
- #read_stream_page(uri) ⇒ Object
Constructor Details
Instance Attribute Details
#endpoint ⇒ Object (readonly)
Returns the value of attribute endpoint.
9 10 11 |
# File 'lib/http_eventstore/api/client.rb', line 9 def endpoint @endpoint end |
#page_size ⇒ Object (readonly)
Returns the value of attribute page_size.
9 10 11 |
# File 'lib/http_eventstore/api/client.rb', line 9 def page_size @page_size end |
Instance Method Details
#append_to_stream(stream_name, event, expected_version = nil) ⇒ Object
11 12 13 14 |
# File 'lib/http_eventstore/api/client.rb', line 11 def append_to_stream(stream_name, event, expected_version = nil) headers = {"ES-EventType" => event.type, "ES-EventId" => event.event_id, "ES-ExpectedVersion" => "#{expected_version}"}.reject { |key, val| val.empty? } make_request(:post, "/streams/#{stream_name}", event.data, headers) end |
#delete_stream(stream_name, hard_delete) ⇒ Object
16 17 18 19 |
# File 'lib/http_eventstore/api/client.rb', line 16 def delete_stream(stream_name, hard_delete) headers = {"ES-HardDelete" => "#{hard_delete}"} make_request(:delete, "/streams/#{stream_name}", {}, headers) end |
#read_stream_backward(stream_name, start, count) ⇒ Object
21 22 23 |
# File 'lib/http_eventstore/api/client.rb', line 21 def read_stream_backward(stream_name, start, count) make_request(:get, "/streams/#{stream_name}/#{start}/backward/#{count}") end |
#read_stream_forward(stream_name, start, count, long_pool = 0) ⇒ Object
25 26 27 28 |
# File 'lib/http_eventstore/api/client.rb', line 25 def read_stream_forward(stream_name, start, count, long_pool = 0) headers = long_pool > 0 ? {"ES-LongPoll" => "#{long_pool}"} : {} make_request(:get, "/streams/#{stream_name}/#{start}/forward/#{count}", {}, headers) end |
#read_stream_page(uri) ⇒ Object
30 31 32 |
# File 'lib/http_eventstore/api/client.rb', line 30 def read_stream_page(uri) make_request(:get, uri) end |