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.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- apn_on_rails (0.5.0)
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-ruby (1.3.2)
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-ruby
80
+ sqlite3
@@ -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
- $ ruby script/generate apn_migrations
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. (With the change to multi-app support, the certifications are stored in the
134
- database rather than in the config directory, however, it is still possible to use the default "app" and the certificates
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 as you
137
- see fit:
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
- $ ruby script/generate apn_migrations
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.
@@ -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-ruby')
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
- APN::Device.all.each do |device|
13
- device.last_registered_at = device.created_at
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
@@ -1,4 +1,11 @@
1
1
  class CreateApnApps < ActiveRecord::Migration # :nodoc:
2
+
3
+ module APN # :nodoc:
4
+ class Device < ActiveRecord::Base # :nodoc:
5
+ set_table_name 'apn_devices'
6
+ end
7
+ end
8
+
2
9
  def self.up
3
10
  create_table :apn_apps do |t|
4
11
  t.text :apn_dev_cert
@@ -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 :apn_notifications, :custom_properties, :text
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 :apn_notifications, :custom_properties
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
@@ -142,9 +142,9 @@ class APN::App < APN::Base
142
142
  end
143
143
  end
144
144
 
145
-
146
145
  protected
147
- def log_connection_exception(ex)
146
+
147
+ def self.log_connection_exception(ex)
148
148
  STDERR.puts ex.message
149
149
  raise ex
150
150
  end
@@ -1,5 +1,7 @@
1
1
  module APN
2
2
  class Base < ActiveRecord::Base # :nodoc:
3
+
4
+ self.abstract_class = true
3
5
 
4
6
  def self.table_name # :nodoc:
5
7
  self.to_s.gsub("::", "_").tableize
@@ -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
@@ -1,3 +1,3 @@
1
1
  module ApnOnRails
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
@@ -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
- device = DeviceFactory.new(:token => APN::Device.first.token)
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
 
@@ -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
- require f
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
- hash: 11
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
- date: 2012-01-27 00:00:00 Z
20
- dependencies:
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
- version_requirements: *id001
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
- hash: 3
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
- type: :development
66
- requirement: &id004 !ruby/object:Gem::Requirement
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
- hash: 3
72
- segments:
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
- type: :development
80
- requirement: &id005 !ruby/object:Gem::Requirement
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
- hash: 3
86
- segments:
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
- type: :development
94
- requirement: &id006 !ruby/object:Gem::Requirement
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
- hash: 3
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
- requirement: &id008 !ruby/object:Gem::Requirement
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
- hash: 3
128
- segments:
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
- requirement: &id009 !ruby/object:Gem::Requirement
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
- hash: 3
142
- segments:
143
- - 0
144
- version: "0"
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
- version_requirements: *id009
147
- description: "APN on Rails is a Ruby on Rails gem that allows you to\n easily add Apple Push Notification (iPhone) support to your Rails application.\n "
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
- hash: 3
245
- segments:
204
+ requirements:
205
+ - - ! '>='
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ segments:
246
209
  - 0
247
- version: "0"
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
- hash: 3
254
- segments:
213
+ requirements:
214
+ - - ! '>='
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ segments:
255
218
  - 0
256
- version: "0"
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