push-c2dm 0.0.1.pre2 → 0.0.1.pre3

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/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