apn_on_rails 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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