Class: SagaForge::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/saga_forge/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/saga_forge/configuration.rb', line 7

def initialize
  @stall_wait = 3.seconds
  @stall_budget = 3
  @sweep_interval = 30.seconds
  @retention = 90.days
  @job_queue = :default
  @maintenance_queue = nil
  @database = nil
  @connects_to = nil
  @primary_key_type = nil
end

Instance Attribute Details

#connects_toObject

Returns the value of attribute connects_to.



3
4
5
# File 'lib/saga_forge/configuration.rb', line 3

def connects_to
  @connects_to
end

#databaseObject

Returns the value of attribute database.



3
4
5
# File 'lib/saga_forge/configuration.rb', line 3

def database
  @database
end

#job_queueObject

Returns the value of attribute job_queue.



3
4
5
# File 'lib/saga_forge/configuration.rb', line 3

def job_queue
  @job_queue
end

#maintenance_queueObject

Housekeeping jobs (sweeper, retention) default to the hot-path queue so single-queue setups need no configuration; set explicitly to drain recovery/pruning work on a separate (typically lower-priority) queue.



22
23
24
# File 'lib/saga_forge/configuration.rb', line 22

def maintenance_queue
  @maintenance_queue || @job_queue
end

#primary_key_typeObject

Returns the value of attribute primary_key_type.



3
4
5
# File 'lib/saga_forge/configuration.rb', line 3

def primary_key_type
  @primary_key_type
end

#retentionObject

Returns the value of attribute retention.



3
4
5
# File 'lib/saga_forge/configuration.rb', line 3

def retention
  @retention
end

#stall_budgetObject

Returns the value of attribute stall_budget.



3
4
5
# File 'lib/saga_forge/configuration.rb', line 3

def stall_budget
  @stall_budget
end

#stall_waitObject

Returns the value of attribute stall_wait.



3
4
5
# File 'lib/saga_forge/configuration.rb', line 3

def stall_wait
  @stall_wait
end

#sweep_intervalObject

Returns the value of attribute sweep_interval.



3
4
5
# File 'lib/saga_forge/configuration.rb', line 3

def sweep_interval
  @sweep_interval
end

Instance Method Details

#migrations_databaseObject

Which named database the generators should target when no --database flag is given: explicit database name, else the connects_to writing role.



28
29
30
# File 'lib/saga_forge/configuration.rb', line 28

def migrations_database
  database || connects_to&.dig(:database, :writing)
end