Module: Rpush
- Defined in:
- lib/rpush.rb,
lib/rpush/cli.rb,
lib/rpush/push.rb,
lib/rpush/embed.rb,
lib/rpush/daemon.rb,
lib/rpush/logger.rb,
lib/rpush/plugin.rb,
lib/rpush/version.rb,
lib/rpush/daemon/adm.rb,
lib/rpush/daemon/gcm.rb,
lib/rpush/daemon/rpc.rb,
lib/rpush/daemon/wns.rb,
lib/rpush/daemon/apns.rb,
lib/rpush/daemon/wpns.rb,
lib/rpush/deprecation.rb,
lib/rpush/reflectable.rb,
lib/rpush/daemon/apns2.rb,
lib/rpush/daemon/batch.rb,
lib/rpush/daemon/pushy.rb,
lib/rpush/deprecatable.rb,
lib/rpush/apns_feedback.rb,
lib/rpush/configuration.rb,
lib/rpush/daemon/apnsp8.rb,
lib/rpush/daemon/errors.rb,
lib/rpush/daemon/feeder.rb,
lib/rpush/daemon/delivery.rb,
lib/rpush/daemon/loggable.rb,
lib/rpush/client/redis/app.rb,
lib/rpush/daemon/constants.rb,
lib/rpush/daemon/app_runner.rb,
lib/rpush/daemon/proc_title.rb,
lib/rpush/daemon/rpc/client.rb,
lib/rpush/daemon/rpc/server.rb,
lib/rpush/multi_json_helper.rb,
lib/rpush/daemon/ring_buffer.rb,
lib/rpush/daemon/store/redis.rb,
lib/rpush/daemon/adm/delivery.rb,
lib/rpush/daemon/apnsp8/token.rb,
lib/rpush/daemon/gcm/delivery.rb,
lib/rpush/daemon/synchronizer.rb,
lib/rpush/daemon/wns/delivery.rb,
lib/rpush/client/redis/adm/app.rb,
lib/rpush/client/redis/gcm/app.rb,
lib/rpush/client/redis/wns/app.rb,
lib/rpush/daemon/apns/delivery.rb,
lib/rpush/daemon/queue_payload.rb,
lib/rpush/daemon/wpns/delivery.rb,
lib/rpush/client/redis/apns/app.rb,
lib/rpush/client/redis/wpns/app.rb,
lib/rpush/daemon/apns2/delivery.rb,
lib/rpush/daemon/delivery_error.rb,
lib/rpush/daemon/dispatcher/tcp.rb,
lib/rpush/daemon/pushy/delivery.rb,
lib/rpush/daemon/signal_handler.rb,
lib/rpush/daemon/string_helpers.rb,
lib/rpush/daemon/tcp_connection.rb,
lib/rpush/reflection_collection.rb,
lib/rpush/client/redis/apns2/app.rb,
lib/rpush/client/redis/pushy/app.rb,
lib/rpush/daemon/apnsp8/delivery.rb,
lib/rpush/daemon/dispatcher/http.rb,
lib/rpush/daemon/dispatcher_loop.rb,
lib/rpush/daemon/retryable_error.rb,
lib/rpush/daemon/store/interface.rb,
lib/rpush/daemon/wns/raw_request.rb,
lib/rpush/client/redis/apnsp8/app.rb,
lib/rpush/daemon/wns/post_request.rb,
lib/rpush/client/active_record/app.rb,
lib/rpush/daemon/wns/badge_request.rb,
lib/rpush/daemon/wns/toast_request.rb,
lib/rpush/client/redis/notification.rb,
lib/rpush/reflection_public_methods.rb,
lib/rpush/client/redis/apns/feedback.rb,
lib/rpush/daemon/dispatcher/apns_tcp.rb,
lib/rpush/daemon/interruptible_sleep.rb,
lib/rpush/daemon/retry_header_parser.rb,
lib/rpush/daemon/store/active_record.rb,
lib/rpush/client/active_model/adm/app.rb,
lib/rpush/client/active_model/gcm/app.rb,
lib/rpush/client/active_model/wns/app.rb,
lib/rpush/client/active_model/apns/app.rb,
lib/rpush/client/active_model/wpns/app.rb,
lib/rpush/client/active_record/adm/app.rb,
lib/rpush/client/active_record/gcm/app.rb,
lib/rpush/client/active_record/wns/app.rb,
lib/rpush/daemon/dispatcher/apns_http2.rb,
lib/rpush/client/active_model/apns2/app.rb,
lib/rpush/client/active_model/pushy/app.rb,
lib/rpush/client/active_record/apns/app.rb,
lib/rpush/client/active_record/wpns/app.rb,
lib/rpush/client/redis/adm/notification.rb,
lib/rpush/client/redis/gcm/notification.rb,
lib/rpush/client/redis/wns/notification.rb,
lib/rpush/daemon/apns/feedback_receiver.rb,
lib/rpush/daemon/service_config_methods.rb,
lib/rpush/client/active_model/apnsp8/app.rb,
lib/rpush/client/active_record/apns2/app.rb,
lib/rpush/client/active_record/pushy/app.rb,
lib/rpush/client/redis/apns/notification.rb,
lib/rpush/client/redis/wpns/notification.rb,
lib/rpush/daemon/dispatcher/apnsp8_http2.rb,
lib/rpush/client/active_record/apnsp8/app.rb,
lib/rpush/client/redis/apns2/notification.rb,
lib/rpush/client/redis/pushy/notification.rb,
lib/rpush/client/active_model/notification.rb,
lib/rpush/client/redis/apnsp8/notification.rb,
lib/rpush/client/active_record/notification.rb,
lib/rpush/client/redis/wns/raw_notification.rb,
lib/rpush/client/active_record/apns/feedback.rb,
lib/rpush/client/redis/wns/badge_notification.rb,
lib/rpush/client/active_model/adm/notification.rb,
lib/rpush/client/active_model/gcm/notification.rb,
lib/rpush/client/active_model/wns/notification.rb,
lib/rpush/client/active_model/apns/notification.rb,
lib/rpush/client/active_model/wpns/notification.rb,
lib/rpush/client/active_record/adm/notification.rb,
lib/rpush/client/active_record/gcm/notification.rb,
lib/rpush/client/active_record/wns/notification.rb,
lib/rpush/client/active_model/adm/data_validator.rb,
lib/rpush/client/active_model/apns2/notification.rb,
lib/rpush/client/active_model/pushy/notification.rb,
lib/rpush/client/active_record/apns/notification.rb,
lib/rpush/client/active_record/wpns/notification.rb,
lib/rpush/client/active_model/apnsp8/notification.rb,
lib/rpush/client/active_record/apns2/notification.rb,
lib/rpush/client/active_record/pushy/notification.rb,
lib/rpush/client/active_record/apnsp8/notification.rb,
lib/rpush/daemon/store/active_record/reconnectable.rb,
lib/rpush/client/active_record/wns/raw_notification.rb,
lib/rpush/client/active_record/wns/badge_notification.rb,
lib/rpush/client/active_model/payload_data_size_validator.rb,
lib/rpush/client/active_model/pushy/time_to_live_validator.rb,
lib/rpush/client/active_model/registration_ids_count_validator.rb,
lib/rpush/client/active_model/apns/binary_notification_validator.rb,
lib/rpush/client/active_model/apns/device_token_format_validator.rb,
lib/rpush/client/active_model/gcm/expiry_collapse_key_mutual_inclusion_validator.rb
Defined Under Namespace
Modules: Client, Daemon, Deprecatable, MultiJsonHelper, Reflectable, VERSION
Classes: ApnsConfiguration, ApnsFeedbackReceiverConfiguration, CLI, CertificateExpiredError, Configuration, ConfigurationError, DeliveryError, Deprecation, Logger, Plugin, RateLimitError, ReflectionCollection, RetryableError
Constant Summary
collapse
- CURRENT_ATTRS =
[:push_poll, :embedded, :pid_file, :batch_size, :push, :client, :logger, :log_file, :foreground, :log_level, :plugin, :apns]
- DEPRECATED_ATTRS =
[]
- CONFIG_ATTRS =
CURRENT_ATTRS + DEPRECATED_ATTRS
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.config ⇒ Object
8
9
10
|
# File 'lib/rpush/configuration.rb', line 8
def config
@config ||= Rpush::Configuration.new
end
|
.logger ⇒ Object
29
30
31
|
# File 'lib/rpush.rb', line 29
def self.logger
@logger ||= Logger.new
end
|
.reflection_stack ⇒ Object
Returns the value of attribute reflection_stack.
5
6
7
|
# File 'lib/rpush/reflection_public_methods.rb', line 5
def reflection_stack
@reflection_stack
end
|
Class Method Details
.apns_feedback ⇒ Object
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/rpush/apns_feedback.rb', line 2
def self.apns_feedback
require 'rpush/daemon'
Rpush::Daemon.common_init
Rpush::Apns::App.all.each do |app|
next unless app.service_name == 'apns'
receiver = Rpush::Daemon::Apns::FeedbackReceiver.new(app)
receiver.check_for_feedback
end
nil
end
|
12
13
14
15
16
|
# File 'lib/rpush/configuration.rb', line 12
def configure
return unless block_given?
yield config
config.initialize_client
end
|
.debug ⇒ Object
38
39
40
|
# File 'lib/rpush/embed.rb', line 38
def self.debug
status
end
|
.embed ⇒ Object
2
3
4
5
6
7
8
9
10
11
12
13
|
# File 'lib/rpush/embed.rb', line 2
def self.embed
require 'rpush/daemon'
if @embed_thread
STDERR.puts 'Rpush.embed can only be run once inside this process.'
end
Rpush.config.embedded = true
Rpush.config.foreground = true
Kernel.at_exit { shutdown }
@embed_thread = Thread.new { Rpush::Daemon.start }
end
|
.jruby? ⇒ Boolean
25
26
27
|
# File 'lib/rpush.rb', line 25
def self.jruby?
defined? JRUBY_VERSION
end
|
.plugin(name) ⇒ Object
2
3
4
5
|
# File 'lib/rpush/plugin.rb', line 2
def self.plugin(name)
plugins[name] ||= Rpush::Plugin.new(name)
plugins[name]
end
|
.plugins ⇒ Object
7
8
9
|
# File 'lib/rpush/plugin.rb', line 7
def self.plugins
@plugins ||= {}
end
|
.push ⇒ Object
2
3
4
5
6
7
8
9
10
|
# File 'lib/rpush/push.rb', line 2
def self.push
require 'rpush/daemon'
Rpush.config.push = true
Rpush::Daemon.common_init
Rpush::Daemon::Synchronizer.sync
Rpush::Daemon::Feeder.start(true)
Rpush::Daemon::AppRunner.stop
end
|
.reflect {|| ... } ⇒ Object
8
9
10
|
# File 'lib/rpush/reflection_public_methods.rb', line 8
def self.reflect
yield reflection_stack[0] if block_given?
end
|
.root ⇒ Object
33
34
35
36
37
38
|
# File 'lib/rpush.rb', line 33
def self.root
require 'rails'
Rails.root || Dir.pwd
rescue LoadError
Dir.pwd
end
|
.shutdown ⇒ Object
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/rpush/embed.rb', line 15
def self.shutdown
return unless Rpush.config.embedded
Rpush::Daemon.shutdown
@embed_thread.join if @embed_thread
rescue StandardError => e
STDERR.puts(e.message)
STDERR.puts(e.backtrace.join("\n"))
ensure
@embed_thread = nil
end
|
.status ⇒ Object
31
32
33
34
35
36
|
# File 'lib/rpush/embed.rb', line 31
def self.status
return unless Rpush.config.embedded
status = Rpush::Daemon::AppRunner.status
Rpush.logger.info(JSON.pretty_generate(status))
status
end
|
.sync ⇒ Object
26
27
28
29
|
# File 'lib/rpush/embed.rb', line 26
def self.sync
return unless Rpush.config.embedded
Rpush::Daemon::Synchronizer.sync
end
|