module Pushr::Core

Constants

DEFAULTS
NAME

Attributes

options[W]

Public Class Methods

configuration_file() click to toggle source
# File lib/pushr/core.rb, line 57
def self.configuration_file
  options[:configuration_file]
end
configuration_file=(filename) click to toggle source
# File lib/pushr/core.rb, line 61
def self.configuration_file=(filename)
  if filename
    filename = File.join(Dir.pwd, filename) unless Pathname.new(filename).absolute?
    if File.file?(filename)
      options[:configuration_file] = filename
    else
      fail ArgumentError, "can not find config file: #{filename}"
    end
  end
end
configure() { |self| ... } click to toggle source

Configuration for Pushr, use like:

Pushr::Core.configure do |config|
  config.redis = { namespace: 'myapp', url: 'redis://myhost:8877/mydb' }
end
# File lib/pushr/core.rb, line 28
def self.configure
  yield self
end
external_id_tag() click to toggle source
# File lib/pushr/core.rb, line 53
def self.external_id_tag
  options[:external_id_tag]
end
external_id_tag=(value) click to toggle source
# File lib/pushr/core.rb, line 49
def self.external_id_tag=(value)
  options[:external_id_tag] = value
end
instrument(name, payload = {}) { || ... } click to toggle source

instruments with a block

# File lib/pushr/core.rb, line 73
def self.instrument(name, payload = {})
  ActiveSupport::Notifications.instrument(name, payload) do
    yield
  end
end
options() click to toggle source
# File lib/pushr/core.rb, line 18
def self.options
  @options ||= DEFAULTS.dup
end
redis(&block) click to toggle source
# File lib/pushr/core.rb, line 32
def self.redis(&block)
  fail ArgumentError, 'requires a block' unless block
  @redis ||= Pushr::RedisConnection.create
  @redis.with(&block)
end
redis=(hash) click to toggle source
# File lib/pushr/core.rb, line 38
def self.redis=(hash)
  if hash.is_a?(Hash)
    options.merge!(hash)
    @redis = RedisConnection.create(options)
  elsif hash.is_a?(ConnectionPool)
    @redis = hash
  else
    fail ArgumentError, 'redis= requires a Hash or ConnectionPool'
  end
end