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 CHANGED
@@ -1,3 +1,3 @@
1
- # PushC2dm
1
+ # PushC2DM
2
2
 
3
- This project rocks and uses MIT-LICENSE.
3
+ Please see [push-core](https://github.com/tompesman/push-core) for more information.
@@ -1,3 +1,3 @@
1
1
  module PushC2dm
2
- VERSION = "0.0.1.pre2"
2
+ VERSION = "0.0.1.pre3"
3
3
  end
@@ -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'] = self.device
23
- json['collapse_key'] = self.collapse_key
24
- json['delay_when_idle'] = "1" if self.delay_when_idle == true
25
- self.payload.each { |k, v| json["data.#{k.to_s}"] = v.to_s } if self.payload
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.pre2
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-06-15 00:00:00.000000000 Z
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: &70161685035040 !ruby/object:Gem::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.pre
32
+ version: 0.0.1.pre2
22
33
  type: :runtime
23
34
  prerelease: false
24
- version_requirements: *70161685035040
35
+ version_requirements: *70125311195460
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: sqlite3
27
- requirement: &70161685034600 !ruby/object:Gem::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: *70161685034600
46
+ version_requirements: *70125311194540
36
47
  description: Plugin with C2DM specific push information.
37
48
  email:
38
49
  - tom@tnux.net