push-c2dm 0.0.1.pre3 → 0.0.1.pre4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,12 @@
1
+ module Push
2
+ class ConfigurationC2dm < Push::Configuration
3
+ store :properties, accessors: [:email, :password]
4
+ attr_accessible :app, :enabled, :connections, :email, :password
5
+ validates :email, :presence => true
6
+ validates :password, :presence => true
7
+
8
+ def name
9
+ :c2dm
10
+ end
11
+ end
12
+ end
@@ -2,13 +2,13 @@ module Push
2
2
  module Daemon
3
3
  module C2dmSupport
4
4
  class ConnectionC2dm
5
- attr_reader :response, :name
5
+ attr_reader :response, :name, :provider
6
6
  AUTH_URL = "https://www.google.com/accounts/ClientLogin"
7
7
  PUSH_URL = "https://android.apis.google.com/c2dm/send"
8
8
 
9
9
  def initialize(provider, i)
10
10
  @provider = provider
11
- @name = "ConnectionC2dm #{i}"
11
+ @name = "#{@provider.configuration[:name]}: ConnectionC2dm #{i}"
12
12
 
13
13
  @email = @provider.configuration[:email]
14
14
  @password = @provider.configuration[:password]
@@ -1,5 +1,6 @@
1
1
  module Push
2
2
  class FeedbackC2dm < Push::Feedback
3
-
3
+ attr_accessible :app, :device, :follow_up, :failed_at
4
+ validates :follow_up, :inclusion => { :in => %w(delete), :message => "%{value} is not a valid follow-up" }
4
5
  end
5
6
  end
@@ -6,7 +6,7 @@ module Push
6
6
  # TODO: DeviceQuotaExceeded — Too many messages sent by the sender to a specific device. Retry after a while.
7
7
 
8
8
  store :properties, accessors: [:collapse_key, :delay_when_idle, :payload]
9
- attr_accessible :device, :collapse_key, :delay_when_idle, :payload
9
+ attr_accessible :app, :device, :collapse_key, :delay_when_idle, :payload
10
10
 
11
11
  def to_message
12
12
  as_hash.map{|k, v| "&#{k}=#{URI.escape(v.to_s)}"}.reduce{|k, v| k + v}
@@ -46,7 +46,7 @@ module Push
46
46
  # not be used anymore
47
47
  if ["InvalidRegistration", "NotRegistered"].index(error_type)
48
48
  with_database_reconnect_and_retry(connection.name) do
49
- Push::FeedbackC2dm.create!(:failed_at => Time.now, :device => device)
49
+ Push::FeedbackC2dm.create!(:app => connection.provider.configuration[:name], :failed_at => Time.now, :device => device, :follow_up => 'delete')
50
50
  end
51
51
  end
52
52
 
@@ -1,3 +1,3 @@
1
1
  module PushC2dm
2
- VERSION = "0.0.1.pre3"
2
+ VERSION = "0.0.1.pre4"
3
3
  end
data/lib/push-c2dm.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require 'net/http'
2
2
  require 'net/https'
3
3
  require 'push-c2dm/version'
4
+ require 'push/configuration'
5
+ require 'push/configuration_c2dm'
4
6
  require 'push/message'
5
7
  require 'push/message_c2dm'
6
8
  require 'push/feedback'
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.pre3
4
+ version: 0.0.1.pre4
5
5
  prerelease: 6
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-07-03 00:00:00.000000000 Z
12
+ date: 2012-07-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
16
- requirement: &70125311196180 !ruby/object:Gem::Requirement
16
+ requirement: &70315439582260 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,21 +21,21 @@ dependencies:
21
21
  version: '1.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70125311196180
24
+ version_requirements: *70315439582260
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: push-core
27
- requirement: &70125311195460 !ruby/object:Gem::Requirement
27
+ requirement: &70315439581440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - =
31
31
  - !ruby/object:Gem::Version
32
- version: 0.0.1.pre2
32
+ version: 0.0.1.pre4
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70125311195460
35
+ version_requirements: *70315439581440
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sqlite3
38
- requirement: &70125311194540 !ruby/object:Gem::Requirement
38
+ requirement: &70315439580460 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,8 +43,8 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70125311194540
47
- description: Plugin with C2DM specific push information.
46
+ version_requirements: *70315439580460
47
+ description: C2DM support for the modular push daemon.
48
48
  email:
49
49
  - tom@tnux.net
50
50
  executables: []
@@ -53,6 +53,7 @@ extra_rdoc_files: []
53
53
  files:
54
54
  - lib/push-c2dm.rb
55
55
  - lib/push-c2dm/version.rb
56
+ - lib/push/configuration_c2dm.rb
56
57
  - lib/push/daemon/c2dm.rb
57
58
  - lib/push/daemon/c2dm_support/connection_c2dm.rb
58
59
  - lib/push/feedback_c2dm.rb