apn_on_rails 0.5.0 → 0.5.1
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/Gemfile.lock +3 -3
- data/README.textile +21 -6
- data/apn_on_rails.gemspec +1 -1
- data/generators/templates/apn_migrations/003_alter_apn_devices.rb +2 -4
- data/generators/templates/apn_migrations/004_create_apn_apps.rb +7 -0
- data/generators/templates/apn_migrations/010_alter_apn_notifications.rb +6 -6
- data/lib/apn_on_rails/app/models/apn/app.rb +2 -2
- data/lib/apn_on_rails/app/models/apn/base.rb +2 -0
- data/lib/apn_on_rails/rails/railtie.rb +15 -0
- data/lib/apn_on_rails/version.rb +1 -1
- data/spec/active_record/setup_ar.rb +2 -1
- data/spec/apn_on_rails/app/models/apn/device_spec.rb +2 -1
- data/spec/spec_helper.rb +12 -3
- metadata +108 -146
- data/VERSION +0 -1
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
apn_on_rails (0.5.
|
4
|
+
apn_on_rails (0.5.1)
|
5
5
|
actionpack
|
6
6
|
activerecord
|
7
7
|
configatron
|
@@ -62,7 +62,7 @@ GEM
|
|
62
62
|
hike (~> 1.2)
|
63
63
|
rack (~> 1.0)
|
64
64
|
tilt (!= 1.3.0, ~> 1.1)
|
65
|
-
sqlite3
|
65
|
+
sqlite3 (1.3.5)
|
66
66
|
tilt (1.3.3)
|
67
67
|
tzinfo (0.3.31)
|
68
68
|
yamler (0.1.0)
|
@@ -77,4 +77,4 @@ DEPENDENCIES
|
|
77
77
|
rake
|
78
78
|
rcov
|
79
79
|
rspec
|
80
|
-
sqlite3
|
80
|
+
sqlite3
|
data/README.textile
CHANGED
@@ -123,18 +123,33 @@ Rake tasks that ship with APN on Rails:
|
|
123
123
|
end
|
124
124
|
</pre></code>
|
125
125
|
|
126
|
+
You now need to run the APN generator to create the migration files.
|
127
|
+
|
128
|
+
<pre><code>
|
129
|
+
ruby script/rails generate apn_on_rails:install
|
130
|
+
</pre></code>
|
131
|
+
|
126
132
|
Now, to create the tables you need for APN on Rails, run the following task:
|
127
133
|
|
128
134
|
<pre><code>
|
129
|
-
$
|
135
|
+
$ rake db:migrate
|
130
136
|
</pre></code>
|
131
137
|
|
132
138
|
APN on Rails uses the Configatron gem, http://github.com/markbates/configatron/tree/master,
|
133
|
-
to configure itself.
|
134
|
-
database rather than in the config directory
|
139
|
+
to configure itself. With the change to multi-app support, the certifications are stored in the
|
140
|
+
database rather than in the config directory.
|
141
|
+
|
142
|
+
However, it is still possible to use the default "app" and the certificates
|
135
143
|
stored in the config directory. For this setup, the following configurations apply.)
|
136
|
-
APN on Rails has the following default configurations that you change
|
137
|
-
|
144
|
+
APN on Rails has the following default configurations that you change for your setup.
|
145
|
+
|
146
|
+
To generate the files that will be used here, run
|
147
|
+
|
148
|
+
<pre><code>
|
149
|
+
script/rails generate configatron:install
|
150
|
+
</pre></code>
|
151
|
+
|
152
|
+
Then customize the config/configatron files that were generated to your settings.
|
138
153
|
|
139
154
|
<pre><code>
|
140
155
|
# development (delivery):
|
@@ -165,7 +180,7 @@ h3. Upgrade Notes:
|
|
165
180
|
If you are upgrading to a new version of APN on Rails you should always run:
|
166
181
|
|
167
182
|
<pre><code>
|
168
|
-
|
183
|
+
ruby script/rails generate apn_on_rails:install
|
169
184
|
</pre></code>
|
170
185
|
|
171
186
|
That way you ensure you have the latest version of the database tables needed.
|
data/apn_on_rails.gemspec
CHANGED
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
|
25
25
|
s.add_development_dependency('rake')
|
26
26
|
s.add_development_dependency('autotest')
|
27
|
-
s.add_development_dependency('sqlite3
|
27
|
+
s.add_development_dependency('sqlite3')
|
28
28
|
s.add_development_dependency('rspec')
|
29
29
|
s.add_development_dependency('bundler')
|
30
30
|
s.add_development_dependency('rcov')
|
@@ -9,10 +9,8 @@ class AlterApnDevices < ActiveRecord::Migration # :nodoc:
|
|
9
9
|
def self.up
|
10
10
|
add_column :apn_devices, :last_registered_at, :datetime
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
device.save!
|
15
|
-
end
|
12
|
+
execute 'update apn_devices set last_registered_at = created_at'
|
13
|
+
|
16
14
|
change_column :apn_devices, :token, :string, :size => 100, :null => false
|
17
15
|
add_index :apn_devices, :token, :unique => true
|
18
16
|
end
|
@@ -7,15 +7,15 @@ class AlterApnNotifications < ActiveRecord::Migration # :nodoc:
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.up
|
10
|
-
unless APN::Notification.column_names.include?("custom_properties")
|
11
|
-
add_column
|
12
|
-
end
|
10
|
+
# unless APN::Notification.column_names.include?("custom_properties")
|
11
|
+
add_column(:apn_notifications, :custom_properties, :text) rescue nil
|
12
|
+
# end
|
13
13
|
end
|
14
14
|
|
15
15
|
def self.down
|
16
|
-
if APN::Notification.column_names.include?("custom_properties")
|
17
|
-
remove_column
|
18
|
-
end
|
16
|
+
# if APN::Notification.column_names.include?("custom_properties")
|
17
|
+
remove_column(:apn_notifications, :custom_properties) rescue nil
|
18
|
+
# end
|
19
19
|
end
|
20
20
|
|
21
21
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
if defined?(::Rails::Railtie) # backwards compatible
|
2
|
+
|
3
|
+
module APN
|
4
|
+
module Rails
|
5
|
+
|
6
|
+
class Railtie < ::Rails::Railtie
|
7
|
+
rake_tasks do
|
8
|
+
Dir[File.join(File.dirname(__FILE__),'..', 'tasks/*.rake')].each { |f| load f }
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
data/lib/apn_on_rails/version.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'active_record'
|
3
|
+
require 'logger'
|
4
|
+
|
3
5
|
|
4
6
|
logger = Logger.new(STDOUT)
|
5
7
|
logger.level = Logger::INFO
|
@@ -7,7 +9,6 @@ ActiveRecord::Base.logger = logger
|
|
7
9
|
|
8
10
|
db_file = File.join(File.dirname(__FILE__), 'test.db')
|
9
11
|
FileUtils.rm(db_file) if File.exists?(db_file)
|
10
|
-
# File.open(db_file, 'w')
|
11
12
|
|
12
13
|
ActiveRecord::Base.establish_connection({
|
13
14
|
:adapter => 'sqlite3',
|
@@ -5,7 +5,8 @@ describe APN::Device do
|
|
5
5
|
describe 'token' do
|
6
6
|
|
7
7
|
it 'should be unique' do
|
8
|
-
|
8
|
+
t = APN::Device.first.token
|
9
|
+
device = DeviceFactory.new(:token => t)
|
9
10
|
device.should_not be_valid
|
10
11
|
device.errors['token'].should include('has already been taken')
|
11
12
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'rubygems'
|
1
2
|
require 'rspec'
|
2
3
|
require 'action_view'
|
3
4
|
|
@@ -9,9 +10,17 @@ require File.join(File.dirname(__FILE__), 'active_record', 'setup_ar.rb')
|
|
9
10
|
|
10
11
|
require File.join(File.dirname(__FILE__), '..', 'lib', 'apn_on_rails')
|
11
12
|
|
12
|
-
Dir.glob(File.join(File.dirname(__FILE__), 'factories', '*.rb')).sort.each do |f|
|
13
|
-
|
14
|
-
end
|
13
|
+
# Dir.glob(File.join(File.dirname(__FILE__), 'factories', '*.rb')).sort.each do |f|
|
14
|
+
# require f
|
15
|
+
# end
|
16
|
+
|
17
|
+
require File.join(File.dirname(__FILE__), 'factories', 'app_factory.rb')
|
18
|
+
require File.join(File.dirname(__FILE__), 'factories', 'device_factory.rb')
|
19
|
+
require File.join(File.dirname(__FILE__), 'factories', 'group_factory.rb')
|
20
|
+
require File.join(File.dirname(__FILE__), 'factories', 'device_grouping_factory.rb')
|
21
|
+
require File.join(File.dirname(__FILE__), 'factories', 'group_notification_factory.rb')
|
22
|
+
require File.join(File.dirname(__FILE__), 'factories', 'notification_factory.rb')
|
23
|
+
require File.join(File.dirname(__FILE__), 'factories', 'pull_notification_factory.rb')
|
15
24
|
|
16
25
|
configatron.apn.cert = File.expand_path(File.join(File.dirname(__FILE__), 'rails_root', 'config', 'apple_push_notification_development.pem'))
|
17
26
|
|
metadata
CHANGED
@@ -1,158 +1,123 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: apn_on_rails
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.1
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 5
|
9
|
-
- 0
|
10
|
-
version: 0.5.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- markbates
|
14
9
|
- Rebecca Nesson
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
prerelease: false
|
23
|
-
type: :runtime
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
13
|
+
date: 2012-01-30 00:00:00.000000000Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
33
16
|
name: configatron
|
34
|
-
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
prerelease: false
|
37
|
-
type: :runtime
|
38
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &2156745720 !ruby/object:Gem::Requirement
|
39
18
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
version: "0"
|
47
|
-
name: activerecord
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
prerelease: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
51
23
|
type: :runtime
|
52
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
-
none: false
|
54
|
-
requirements:
|
55
|
-
- - ">="
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
hash: 3
|
58
|
-
segments:
|
59
|
-
- 0
|
60
|
-
version: "0"
|
61
|
-
name: actionpack
|
62
|
-
version_requirements: *id003
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
24
|
prerelease: false
|
65
|
-
|
66
|
-
|
25
|
+
version_requirements: *2156745720
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: activerecord
|
28
|
+
requirement: &2156744820 !ruby/object:Gem::Requirement
|
67
29
|
none: false
|
68
|
-
requirements:
|
69
|
-
- -
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
|
73
|
-
- 0
|
74
|
-
version: "0"
|
75
|
-
name: rake
|
76
|
-
version_requirements: *id004
|
77
|
-
- !ruby/object:Gem::Dependency
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
78
35
|
prerelease: false
|
79
|
-
|
80
|
-
|
36
|
+
version_requirements: *2156744820
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: actionpack
|
39
|
+
requirement: &2156743580 !ruby/object:Gem::Requirement
|
81
40
|
none: false
|
82
|
-
requirements:
|
83
|
-
- -
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
|
86
|
-
|
87
|
-
- 0
|
88
|
-
version: "0"
|
89
|
-
name: autotest
|
90
|
-
version_requirements: *id005
|
91
|
-
- !ruby/object:Gem::Dependency
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
45
|
+
type: :runtime
|
92
46
|
prerelease: false
|
93
|
-
|
94
|
-
|
47
|
+
version_requirements: *2156743580
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rake
|
50
|
+
requirement: &2156742540 !ruby/object:Gem::Requirement
|
95
51
|
none: false
|
96
|
-
requirements:
|
97
|
-
- -
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
|
100
|
-
segments:
|
101
|
-
- 0
|
102
|
-
version: "0"
|
103
|
-
name: sqlite3-ruby
|
104
|
-
version_requirements: *id006
|
105
|
-
- !ruby/object:Gem::Dependency
|
106
|
-
prerelease: false
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
107
56
|
type: :development
|
108
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
109
|
-
none: false
|
110
|
-
requirements:
|
111
|
-
- - ">="
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
hash: 3
|
114
|
-
segments:
|
115
|
-
- 0
|
116
|
-
version: "0"
|
117
|
-
name: rspec
|
118
|
-
version_requirements: *id007
|
119
|
-
- !ruby/object:Gem::Dependency
|
120
57
|
prerelease: false
|
58
|
+
version_requirements: *2156742540
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: autotest
|
61
|
+
requirement: &2156741880 !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
121
67
|
type: :development
|
122
|
-
|
68
|
+
prerelease: false
|
69
|
+
version_requirements: *2156741880
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: sqlite3
|
72
|
+
requirement: &2156741220 !ruby/object:Gem::Requirement
|
123
73
|
none: false
|
124
|
-
requirements:
|
125
|
-
- -
|
126
|
-
- !ruby/object:Gem::Version
|
127
|
-
|
128
|
-
|
129
|
-
- 0
|
130
|
-
version: "0"
|
131
|
-
name: bundler
|
132
|
-
version_requirements: *id008
|
133
|
-
- !ruby/object:Gem::Dependency
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
type: :development
|
134
79
|
prerelease: false
|
80
|
+
version_requirements: *2156741220
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: rspec
|
83
|
+
requirement: &2156740580 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ! '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
135
89
|
type: :development
|
136
|
-
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: *2156740580
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: bundler
|
94
|
+
requirement: &2156739880 !ruby/object:Gem::Requirement
|
137
95
|
none: false
|
138
|
-
requirements:
|
139
|
-
- -
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
96
|
+
requirements:
|
97
|
+
- - ! '>='
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
100
|
+
type: :development
|
101
|
+
prerelease: false
|
102
|
+
version_requirements: *2156739880
|
103
|
+
- !ruby/object:Gem::Dependency
|
145
104
|
name: rcov
|
146
|
-
|
147
|
-
|
105
|
+
requirement: &2156682140 !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
type: :development
|
112
|
+
prerelease: false
|
113
|
+
version_requirements: *2156682140
|
114
|
+
description: ! "APN on Rails is a Ruby on Rails gem that allows you to\n easily add
|
115
|
+
Apple Push Notification (iPhone) support to your Rails application.\n "
|
148
116
|
email: tech-team@prx.org
|
149
117
|
executables: []
|
150
|
-
|
151
118
|
extensions: []
|
152
|
-
|
153
119
|
extra_rdoc_files: []
|
154
|
-
|
155
|
-
files:
|
120
|
+
files:
|
156
121
|
- .gitignore
|
157
122
|
- .rspec
|
158
123
|
- .specification
|
@@ -162,7 +127,6 @@ files:
|
|
162
127
|
- README
|
163
128
|
- README.textile
|
164
129
|
- Rakefile
|
165
|
-
- VERSION
|
166
130
|
- apn_on_rails.gemspec
|
167
131
|
- autotest/discover.rb
|
168
132
|
- generators/apn_migrations_generator.rb
|
@@ -190,6 +154,7 @@ files:
|
|
190
154
|
- lib/apn_on_rails/app/models/apn/pull_notification.rb
|
191
155
|
- lib/apn_on_rails/libs/connection.rb
|
192
156
|
- lib/apn_on_rails/libs/feedback.rb
|
157
|
+
- lib/apn_on_rails/rails/railtie.rb
|
193
158
|
- lib/apn_on_rails/tasks/apn.rake
|
194
159
|
- lib/apn_on_rails/tasks/db.rake
|
195
160
|
- lib/apn_on_rails/version.rb
|
@@ -230,38 +195,35 @@ files:
|
|
230
195
|
- spec/spec_helper.rb
|
231
196
|
homepage: http://github.com/PRX/apn_on_rails
|
232
197
|
licenses: []
|
233
|
-
|
234
198
|
post_install_message:
|
235
199
|
rdoc_options: []
|
236
|
-
|
237
|
-
require_paths:
|
200
|
+
require_paths:
|
238
201
|
- lib
|
239
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
202
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
240
203
|
none: false
|
241
|
-
requirements:
|
242
|
-
- -
|
243
|
-
- !ruby/object:Gem::Version
|
244
|
-
|
245
|
-
segments:
|
204
|
+
requirements:
|
205
|
+
- - ! '>='
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: '0'
|
208
|
+
segments:
|
246
209
|
- 0
|
247
|
-
|
248
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
210
|
+
hash: 3151093610939357091
|
211
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
249
212
|
none: false
|
250
|
-
requirements:
|
251
|
-
- -
|
252
|
-
- !ruby/object:Gem::Version
|
253
|
-
|
254
|
-
segments:
|
213
|
+
requirements:
|
214
|
+
- - ! '>='
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0'
|
217
|
+
segments:
|
255
218
|
- 0
|
256
|
-
|
219
|
+
hash: 3151093610939357091
|
257
220
|
requirements: []
|
258
|
-
|
259
221
|
rubyforge_project:
|
260
222
|
rubygems_version: 1.8.10
|
261
223
|
signing_key:
|
262
224
|
specification_version: 3
|
263
225
|
summary: Apple Push Notifications on Rails
|
264
|
-
test_files:
|
226
|
+
test_files:
|
265
227
|
- spec/active_record/setup_ar.rb
|
266
228
|
- spec/apn_on_rails/app/models/apn/app_spec.rb
|
267
229
|
- spec/apn_on_rails/app/models/apn/device_spec.rb
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.4.2
|