Sha256: 43a9fba36c75cac03cfa005bf9be7de2ff62d1b5e345b805ee9e237e0b60691f

Contents?: true

Size: 796 Bytes

Versions: 7

Compression:

Stored size: 796 Bytes

Contents

module Rpush
  def self.embed(options = {})
    Rpush.require_for_daemon

    if @embed_thread
      STDERR.puts 'Rpush.embed can only be run once inside this process.'
    end

    config = Rpush::ConfigurationWithoutDefaults.new
    options.each { |k, v| config.send("#{k}=", v) }
    config.embedded = true
    Rpush.config.update(config)
    Kernel.at_exit { shutdown }
    @embed_thread = Thread.new { Rpush::Daemon.start }
  end

  def self.shutdown
    return unless Rpush.config.embedded
    Rpush::Daemon.shutdown
    @embed_thread.join if @embed_thread
    @embed_thread = nil
  end

  def self.sync
    return unless Rpush.config.embedded
    Rpush::Daemon::Synchronizer.sync
  end

  def self.debug
    return unless Rpush.config.embedded
    Rpush::Daemon::AppRunner.debug
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rpush-2.0.1-java lib/rpush/embed.rb
rpush-2.0.1 lib/rpush/embed.rb
rpush-2.0.0-java lib/rpush/embed.rb
rpush-2.0.0 lib/rpush/embed.rb
rpush-2.0.0.rc1-java lib/rpush/embed.rb
rpush-2.0.0.rc1 lib/rpush/embed.rb
rpush-2.0.0.beta2 lib/rpush/embed.rb