module Slimer

@abstract

Slimer

Constants

DEFAULTS
DEFAULT_DATABASE_URL
DEFAULT_GROUP
DEFAULT_SIDEKIQ_QUEUE
VERSION

Public Class Methods

configure() { |self| ... } click to toggle source
# File lib/slimer.rb, line 78
def self.configure
  yield self
end
configure_sidekiq_client(&block) click to toggle source
# File lib/slimer.rb, line 82
def self.configure_sidekiq_client(&block)
  Sidekiq.configure_client(&block)
end
configure_sidekiq_server(&block) click to toggle source
# File lib/slimer.rb, line 86
def self.configure_sidekiq_server(&block)
  Sidekiq.configure_server(&block)
end
database_url(db_url = nil) click to toggle source
# File lib/slimer.rb, line 60
def self.database_url(db_url = nil)
  self.database_url = db_url if db_url
  options[:database_url]
end
database_url=(db_url) click to toggle source
# File lib/slimer.rb, line 65
def self.database_url=(db_url)
  @options[:database_url] = db_url
end
db() click to toggle source
# File lib/slimer.rb, line 32
def self.db
  database_url_from_env = ENV.delete("SLIMER_DATABASE_URL") || ENV.delete("DATABASE_URL")

  if database_url_from_env
    @options[:database_url] = database_url_from_env
    return @db = Database.connection(
      options[:database_url] || DEFAULT_DATABASE_URL
    )
  end

  @db ||= Database.connection(
    options[:database_url] || DEFAULT_DATABASE_URL
  )
end
group(new_group, &block) click to toggle source
# File lib/slimer.rb, line 56
def self.group(new_group, &block)
  options[:groups] += GroupConfigurator.group(new_group, &block).all
end
groups(new_groups = nil) click to toggle source
# File lib/slimer.rb, line 47
def self.groups(new_groups = nil)
  self.groups = new_groups if new_groups
  options[:groups]
end
groups=(new_groups = Set.new(options[:groups].dup)) click to toggle source
# File lib/slimer.rb, line 52
def self.groups=(new_groups = Set.new(options[:groups].dup))
  @options[:groups] = Set.new(new_groups.map(&:to_s))
end
logger() click to toggle source
# File lib/slimer.rb, line 90
def self.logger
  @logger ||= Logger.new($stdout, level: Logger::INFO)
end
logger=(logger) click to toggle source
# File lib/slimer.rb, line 94
def self.logger=(logger)
  if logger.nil?
    self.logger.level = Logger::FATAL
    return self.logger
  end

  @logger = logger
end
options() click to toggle source
# File lib/slimer.rb, line 24
def self.options
  @options ||= DEFAULTS.dup
end
options=(opts) click to toggle source
# File lib/slimer.rb, line 28
def self.options=(opts)
  @options = DEFAULTS.merge(opts)
end
reset!() click to toggle source
# File lib/slimer.rb, line 103
def self.reset!
  @options = DEFAULTS.dup
  truncate_tables!
  @db = nil
end
sidekiq_queue(new_queue = nil) click to toggle source
# File lib/slimer.rb, line 69
def self.sidekiq_queue(new_queue = nil)
  self.sidekiq_queue = new_queue if new_queue
  options[:sidekiq_queue]
end
sidekiq_queue=(new_queue) click to toggle source
# File lib/slimer.rb, line 74
def self.sidekiq_queue=(new_queue)
  @options[:sidekiq_queue] = new_queue
end
truncate_tables!() click to toggle source
# File lib/slimer.rb, line 109
def self.truncate_tables!
  Slimer::ApiKey.truncate if defined? Slimer::ApiKey
  Slimer::Substance.truncate if defined? Slimer::Substance
end