Module: APN

Defined in:
lib/apn.rb,
lib/apn/client.rb,
lib/apn/config.rb,
lib/apn/daemon.rb,
lib/apn/version.rb,
lib/apn/feedback.rb,
lib/apn/notification.rb

Defined Under Namespace

Modules: Config Classes: Client, Daemon, Feedback, FeedbackItem, Notification

Constant Summary collapse

VERSION =
"1.1.0"

Class Method Summary collapse

Class Method Details

.configureObject Also known as: config



43
44
45
# File 'lib/apn.rb', line 43

def configure
  block_given? ? yield(Config) : Config
end

.log(level, message = nil) ⇒ Object



27
28
29
30
31
32
# File 'lib/apn.rb', line 27

def log(level, message = nil)
  level, message = 'info', level if message.nil? # Handle only one argument if called from Resque, which expects only message

  return false unless logger && logger.respond_to?(level)
  logger.send(level, "#{Time.now}: #{message}")
end

.log_and_die(msg) ⇒ Object



34
35
36
37
# File 'lib/apn.rb', line 34

def log_and_die(msg)
  logger.fatal(msg)
  raise msg
end

.logfileObject



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

def logfile
  APN.config.log_file ? APN.config.log_file : STDOUT
end

.loggerObject



23
24
25
# File 'lib/apn.rb', line 23

def logger
  @logger ||= Logger.new(logfile)
end

.logger=(logger) ⇒ Object



19
20
21
# File 'lib/apn.rb', line 19

def logger=(logger)
  @logger = logger
end

.queue(message, queue_name = 'apn_queue') ⇒ Object



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

def queue(message, queue_name = 'apn_queue')
  self.redis.lpush(queue_name, message.to_json)
end

.redisObject



15
16
17
# File 'lib/apn.rb', line 15

def redis
  @redis ||= Redis.new(:host => APN.config.redis_host, :port => APN.config.redis_port, :password => APN.config.redis_password)
end