push-c2dm 0.0.1.pre2 → 0.0.1.pre3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +2 -2
- data/lib/push-c2dm/version.rb +1 -1
- data/lib/push/message_c2dm.rb +15 -5
- metadata +18 -7
data/README.md
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
#
|
1
|
+
# PushC2DM
|
2
2
|
|
3
|
-
|
3
|
+
Please see [push-core](https://github.com/tompesman/push-core) for more information.
|
data/lib/push-c2dm/version.rb
CHANGED
data/lib/push/message_c2dm.rb
CHANGED
@@ -5,7 +5,8 @@ module Push
|
|
5
5
|
# TODO" QuotaExceeded — Too many messages sent by the sender. Retry after a while.
|
6
6
|
# TODO: DeviceQuotaExceeded — Too many messages sent by the sender to a specific device. Retry after a while.
|
7
7
|
|
8
|
-
store :properties, accessors: [:collapse_key, :delay_when_idle, :payload
|
8
|
+
store :properties, accessors: [:collapse_key, :delay_when_idle, :payload]
|
9
|
+
attr_accessible :device, :collapse_key, :delay_when_idle, :payload
|
9
10
|
|
10
11
|
def to_message
|
11
12
|
as_hash.map{|k, v| "&#{k}=#{URI.escape(v.to_s)}"}.reduce{|k, v| k + v}
|
@@ -15,14 +16,23 @@ module Push
|
|
15
16
|
Push::Daemon::C2dmSupport::ConnectionC2dm
|
16
17
|
end
|
17
18
|
|
19
|
+
def payload=(attrs)
|
20
|
+
raise ArgumentError, "payload must be a Hash" if !attrs.is_a?(Hash)
|
21
|
+
properties[:payload] = MultiJson.dump(attrs)
|
22
|
+
end
|
23
|
+
|
24
|
+
def payload
|
25
|
+
MultiJson.load(properties[:payload]) if properties[:payload]
|
26
|
+
end
|
27
|
+
|
18
28
|
private
|
19
29
|
|
20
30
|
def as_hash
|
21
31
|
json = ActiveSupport::OrderedHash.new
|
22
|
-
json['registration_id'] =
|
23
|
-
json['collapse_key'] =
|
24
|
-
json['delay_when_idle'] = "1" if
|
25
|
-
self.payload.each { |k, v| json["data.#{k.to_s}"] = v.to_s } if
|
32
|
+
json['registration_id'] = device
|
33
|
+
json['collapse_key'] = collapse_key
|
34
|
+
json['delay_when_idle'] = "1" if delay_when_idle == true
|
35
|
+
self.payload.each { |k, v| json["data.#{k.to_s}"] = v.to_s } if payload
|
26
36
|
json
|
27
37
|
end
|
28
38
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: push-c2dm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.
|
4
|
+
version: 0.0.1.pre3
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,33 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-07-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: multi_json
|
16
|
+
requirement: &70125311196180 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70125311196180
|
14
25
|
- !ruby/object:Gem::Dependency
|
15
26
|
name: push-core
|
16
|
-
requirement: &
|
27
|
+
requirement: &70125311195460 !ruby/object:Gem::Requirement
|
17
28
|
none: false
|
18
29
|
requirements:
|
19
30
|
- - =
|
20
31
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.0.1.
|
32
|
+
version: 0.0.1.pre2
|
22
33
|
type: :runtime
|
23
34
|
prerelease: false
|
24
|
-
version_requirements: *
|
35
|
+
version_requirements: *70125311195460
|
25
36
|
- !ruby/object:Gem::Dependency
|
26
37
|
name: sqlite3
|
27
|
-
requirement: &
|
38
|
+
requirement: &70125311194540 !ruby/object:Gem::Requirement
|
28
39
|
none: false
|
29
40
|
requirements:
|
30
41
|
- - ! '>='
|
@@ -32,7 +43,7 @@ dependencies:
|
|
32
43
|
version: '0'
|
33
44
|
type: :development
|
34
45
|
prerelease: false
|
35
|
-
version_requirements: *
|
46
|
+
version_requirements: *70125311194540
|
36
47
|
description: Plugin with C2DM specific push information.
|
37
48
|
email:
|
38
49
|
- tom@tnux.net
|