apple_push 0.1.1 → 0.1.2
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/bin/apple_push +12 -10
- data/lib/apple_push.rb +9 -5
- data/lib/apple_push/configuration.rb +3 -2
- data/lib/apple_push/version.rb +1 -1
- metadata +17 -17
data/bin/apple_push
CHANGED
@@ -7,32 +7,34 @@ require 'eventmachine'
|
|
7
7
|
require 'thin'
|
8
8
|
require 'apple_push'
|
9
9
|
|
10
|
+
def terminate(message, exit_code=1)
|
11
|
+
STDERR.puts(message)
|
12
|
+
exit(exit_code)
|
13
|
+
end
|
14
|
+
|
10
15
|
config_path = ARGV.shift.to_s.strip
|
11
16
|
|
12
17
|
if config_path.empty?
|
13
|
-
|
14
|
-
exit(1)
|
18
|
+
terminate("Configuration file required!")
|
15
19
|
end
|
16
20
|
|
17
21
|
config = nil
|
22
|
+
|
18
23
|
begin
|
19
24
|
config = ApplePush::Configuration.load_file(config_path)
|
20
|
-
rescue
|
21
|
-
|
22
|
-
puts ex.backtrace
|
23
|
-
exit(1)
|
25
|
+
rescue StandardError => ex
|
26
|
+
terminate(ex.message)
|
24
27
|
end
|
25
28
|
|
26
29
|
EM.run do
|
27
30
|
begin
|
28
31
|
ApplePush.configure(config)
|
29
|
-
rescue
|
30
|
-
|
31
|
-
exit(1)
|
32
|
+
rescue StandardError => ex
|
33
|
+
terminate(ex.message)
|
32
34
|
end
|
33
35
|
|
34
36
|
host = ApplePush.configuration[:host]
|
35
37
|
port = ApplePush.configuration[:port]
|
36
38
|
|
37
39
|
Thin::Server.start(ApplePush::Server, host, port)
|
38
|
-
end
|
40
|
+
end
|
data/lib/apple_push.rb
CHANGED
@@ -15,8 +15,9 @@ module ApplePush
|
|
15
15
|
config = ApplePush::Configuration.new(options)
|
16
16
|
|
17
17
|
@@options.merge!(
|
18
|
-
:host
|
19
|
-
:port
|
18
|
+
:host => config.host || '127.0.0.1',
|
19
|
+
:port => config.port || '27000',
|
20
|
+
:timeout => config.timeout || 5
|
20
21
|
)
|
21
22
|
|
22
23
|
if !config.sandbox? && !config.live?
|
@@ -53,9 +54,12 @@ module ApplePush
|
|
53
54
|
raise ArgumentError, "Path to certificate file required." if !config.cert?
|
54
55
|
raise ArgumentError, "Path to key file required." if !config.cert_key?
|
55
56
|
|
56
|
-
|
57
|
-
|
58
|
-
|
57
|
+
opts = {
|
58
|
+
:size => (Integer(config.pool || 1) rescue 1),
|
59
|
+
:timeout => configuration[:timeout]
|
60
|
+
}
|
61
|
+
|
62
|
+
@@pools[env] = ConnectionPool.new(opts) do
|
59
63
|
EM::APN::Client.connect(
|
60
64
|
:gateway => env == 'live' ? LIVE_URL : SANDBOX_URL,
|
61
65
|
:cert => File.expand_path(config.cert),
|
@@ -9,11 +9,12 @@ module ApplePush
|
|
9
9
|
#
|
10
10
|
def self.load_file(path)
|
11
11
|
path = File.expand_path(path)
|
12
|
+
|
12
13
|
if !File.exists?(path)
|
13
14
|
raise ArgumentError, "File \"#{path}\" does not exist."
|
14
15
|
end
|
15
|
-
|
16
|
-
Configuration.new(
|
16
|
+
|
17
|
+
Configuration.new(YAML.load_file(path))
|
17
18
|
end
|
18
19
|
end
|
19
20
|
end
|
data/lib/apple_push/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apple_push
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-04-11 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: eventmachine
|
16
|
-
requirement: &
|
16
|
+
requirement: &70222318304700 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70222318304700
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sinatra
|
27
|
-
requirement: &
|
27
|
+
requirement: &70222318304180 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70222318304180
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: thin
|
38
|
-
requirement: &
|
38
|
+
requirement: &70222318303680 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70222318303680
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: connection_pool
|
49
|
-
requirement: &
|
49
|
+
requirement: &70222318303160 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70222318303160
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: multi_json
|
60
|
-
requirement: &
|
60
|
+
requirement: &70222318302640 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70222318302640
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: hashr
|
71
|
-
requirement: &
|
71
|
+
requirement: &70222318302120 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70222318302120
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: em-apn
|
82
|
-
requirement: &
|
82
|
+
requirement: &70222318301600 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70222318301600
|
91
91
|
description: Sinatra-based server to deliver Apple Push Notifications
|
92
92
|
email:
|
93
93
|
- dan.sosedoff@gmail.com
|
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
127
|
version: '0'
|
128
128
|
requirements: []
|
129
129
|
rubyforge_project:
|
130
|
-
rubygems_version: 1.8.
|
130
|
+
rubygems_version: 1.8.15
|
131
131
|
signing_key:
|
132
132
|
specification_version: 3
|
133
133
|
summary: Simple API to send APN notifications
|