Class: PgEventstore::Maintenance

Inherits:
Object
  • Object
show all
Defined in:
lib/pg_eventstore/maintenance.rb,
sig/pg_eventstore/maintenance.rbs

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Maintenance

Returns a new instance of Maintenance.

Parameters:



11
12
13
# File 'lib/pg_eventstore/maintenance.rb', line 11

def initialize(config)
  @config = config
end

Instance Attribute Details

#configConfig

Returns the value of attribute config.

Returns:



7
8
9
# File 'lib/pg_eventstore/maintenance.rb', line 7

def config
  @config
end

Instance Method Details

#connectionPgEventstore::Connection



44
45
46
# File 'lib/pg_eventstore/maintenance.rb', line 44

def connection
  PgEventstore.connection(config.name)
end

#delete_event(event, force: false) ⇒ Boolean

Returns whether an event was deleted successfully.

Parameters:

Returns:

  • (Boolean)

    whether an event was deleted successfully



25
26
27
28
29
# File 'lib/pg_eventstore/maintenance.rb', line 25

def delete_event(event, force: false)
  Utils.assert_node_role!(config, Config::NodeRole.maintainable)
  queries = Queries.new(maintenance: maintenance_queries, events_global_index: events_global_index_queries)
  Commands::DeleteEvent.new(queries).call(event, force:)
end

#delete_stream(stream) ⇒ Boolean

Returns whether a stream was deleted successfully.

Parameters:

Returns:

  • (Boolean)

    whether a stream was deleted successfully



17
18
19
20
21
# File 'lib/pg_eventstore/maintenance.rb', line 17

def delete_stream(stream)
  Utils.assert_node_role!(config, Config::NodeRole.maintainable)
  queries = Queries.new(maintenance: maintenance_queries)
  Commands::DeleteStream.new(queries).call(stream)
end

#events_global_index_queriesPgEventstore::EventsGlobalIndexQueries

Returns:

  • (PgEventstore::EventsGlobalIndexQueries)


49
50
51
# File 'lib/pg_eventstore/maintenance.rb', line 49

def events_global_index_queries
  EventsGlobalIndexQueries.new(connection, QueryStrategy::Foreground.new(connection))
end

#maintenance_queriesPgEventstore::MaintenanceQueries

Returns:

  • (PgEventstore::MaintenanceQueries)


34
35
36
# File 'lib/pg_eventstore/maintenance.rb', line 34

def maintenance_queries
  MaintenanceQueries.new(connection)
end

#transaction_queriesPgEventstore::TransactionQueries

Returns:

  • (PgEventstore::TransactionQueries)


39
40
41
# File 'lib/pg_eventstore/maintenance.rb', line 39

def transaction_queries
  TransactionQueries.new(connection)
end