sentia_apn_sender 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.4
1
+ 1.0.6
data/lib/apn.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'resque'
2
+ require 'apn/before_unregister_worker_support'
2
3
  require 'resque/plugins/access_worker_from_job'
3
4
  require 'resque/hooks/before_unregister_worker'
4
5
  require 'json'
@@ -10,4 +11,4 @@ require 'apn/notification'
10
11
  require 'apn/notification_job'
11
12
  require 'apn/connection/base'
12
13
  require 'apn/sender'
13
- require 'apn/feedback'
14
+ require 'apn/feedback'
@@ -0,0 +1,14 @@
1
+ module APN
2
+ module BeforeUnregisterSupport
3
+ def before_unregister_worker(&block)
4
+ block ? (@before_unregister_worker = block) : @before_unregister_worker
5
+ end
6
+
7
+ def before_unregister_worker=(before_unregister_worker)
8
+ @before_unregister_worker = before_unregister_worker
9
+ end
10
+ end
11
+ end
12
+
13
+ # Add this module to the base Resque class
14
+ Resque.send(:extend, APN::BeforeUnregisterSupport)
@@ -13,14 +13,7 @@ module APN
13
13
  # functionality in the parent app, if we're included in e.g. a Rails application.
14
14
  class QueueManager
15
15
  extend Resque
16
-
17
- def self.before_unregister_worker(&block)
18
- block ? (@before_unregister_worker = block) : @before_unregister_worker
19
- end
20
-
21
- def self.before_unregister_worker=(before_unregister_worker)
22
- @before_unregister_worker = before_unregister_worker
23
- end
16
+ extend BeforeUnregisterSupport
24
17
 
25
18
  def self.to_s
26
19
  "APN::QueueManager (Resque Client) connected to #{redis.server}"
@@ -43,7 +36,6 @@ APN::QueueManager.before_unregister_worker do |worker|
43
36
  worker.send(:teardown_connection) if worker.respond_to?(:teardown_connection)
44
37
  end
45
38
 
46
-
47
39
  # # Run N jobs per fork, rather than creating a new fork for each notification
48
40
  # # By defunkt - http://gist.github.com/349376
49
41
  # APN::QueueManager.after_fork do |job|
@@ -11,20 +11,5 @@ module Resque
11
11
  run_hook(:before_unregister_worker, self)
12
12
  unregister_worker_without_before_hook
13
13
  end
14
-
15
-
16
- # Unforunately have to override Resque::Worker's +run_hook+ method to call hook on
17
- # APN::QueueManager rather on Resque directly. Any suggestions on
18
- # how to make this more flexible are more than welcome.
19
- def run_hook(name, *args)
20
- # return unless hook = Resque.send(name)
21
- return unless hook = APN::QueueManager.send(name)
22
- msg = "Running #{name} hook"
23
- msg << " with #{args.inspect}" if args.any?
24
- log msg
25
-
26
- args.any? ? hook.call(*args) : hook.call
27
- end
28
-
29
14
  end
30
- end
15
+ end
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "sentia_apn_sender"
8
- s.version = "1.0.4"
8
+ s.version = "1.0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kali Donovan", "Mario Visic"]
@@ -28,6 +28,7 @@ Gem::Specification.new do |s|
28
28
  "init.rb",
29
29
  "lib/apn.rb",
30
30
  "lib/apn/connection/base.rb",
31
+ "lib/apn/before_unregister_worker_support.rb",
31
32
  "lib/apn/feedback.rb",
32
33
  "lib/apn/notification.rb",
33
34
  "lib/apn/notification_job.rb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentia_apn_sender
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2012-05-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: resque
17
- requirement: &70289459606940 !ruby/object:Gem::Requirement
17
+ requirement: &70294224336180 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70289459606940
25
+ version_requirements: *70294224336180
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: resque-access_worker_from_job
28
- requirement: &70289459606420 !ruby/object:Gem::Requirement
28
+ requirement: &70294224335600 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70289459606420
36
+ version_requirements: *70294224335600
37
37
  description: Resque-based background worker to send Apple Push Notifications over
38
38
  a persistent TCP socket. Includes Resque tweaks to allow persistent sockets between
39
39
  jobs, helper methods for enqueueing APN notifications, and a background daemon to
@@ -56,6 +56,7 @@ files:
56
56
  - init.rb
57
57
  - lib/apn.rb
58
58
  - lib/apn/connection/base.rb
59
+ - lib/apn/before_unregister_worker_support.rb
59
60
  - lib/apn/feedback.rb
60
61
  - lib/apn/notification.rb
61
62
  - lib/apn/notification_job.rb