class ActiveRecordBlockMatchers::Strategies

Public Class Methods

all_strategies() click to toggle source
# File lib/active_record_block_matchers/strategies.rb, line 4
def self.all_strategies
  @all_strategies ||= {
    id: IdStrategy,
    timestamp: TimestampStrategy,
  }
end
default() click to toggle source
# File lib/active_record_block_matchers/strategies.rb, line 11
def self.default
  get_strategy!(Config.default_strategy)
end
for_key(strategy_key) click to toggle source
# File lib/active_record_block_matchers/strategies.rb, line 15
def self.for_key(strategy_key)
  if strategy_key.nil?
    default
  else
    get_strategy!(strategy_key)
  end
end

Private Class Methods

get_strategy!(strategy_key) click to toggle source
# File lib/active_record_block_matchers/strategies.rb, line 25
def self.get_strategy!(strategy_key)
  all_strategies.fetch(strategy_key)
rescue KeyError
  raise UnknownStrategyError, "#{strategy_key.inspect} is not a known strategy (known strategies are #{all_strategies.keys})"
end