rack-push-notification 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rack-push-notification (0.1.0)
4
+ rack-push-notification (0.1.1)
5
5
  bootstrap-sass (~> 2.1.1)
6
6
  coffee-script (~> 2.2.0)
7
+ compass (~> 0.11.5)
7
8
  eco (~> 1.0.0)
8
9
  haml (~> 3.1.7)
9
10
  houston (~> 0.1.1)
@@ -20,12 +21,17 @@ GEM
20
21
  remote: http://rubygems.org/
21
22
  specs:
22
23
  bootstrap-sass (2.1.1.0)
24
+ chunky_png (1.2.7)
23
25
  coffee-script (2.2.0)
24
26
  coffee-script-source
25
27
  execjs
26
28
  coffee-script-source (1.4.0)
27
- commander (4.1.2)
29
+ commander (4.1.3)
28
30
  highline (~> 1.6.11)
31
+ compass (0.11.5)
32
+ chunky_png (~> 1.2)
33
+ fssm (>= 0.2.7)
34
+ sass (~> 3.1)
29
35
  eco (1.0.0)
30
36
  coffee-script
31
37
  eco-source
@@ -33,30 +39,31 @@ GEM
33
39
  eco-source (1.1.0.rc.1)
34
40
  execjs (1.4.0)
35
41
  multi_json (~> 1.0)
42
+ fssm (0.2.9)
36
43
  haml (3.1.7)
37
44
  highline (1.6.15)
38
45
  hike (1.2.1)
39
46
  houston (0.1.1)
40
47
  commander (~> 4.1.2)
41
48
  json (~> 1.7.3)
42
- json (1.7.5)
43
- multi_json (1.3.7)
44
- rack (1.4.1)
49
+ json (1.7.6)
50
+ multi_json (1.5.0)
51
+ rack (1.4.4)
45
52
  rack-contrib (1.1.0)
46
53
  rack (>= 0.9.1)
47
- rack-protection (1.2.0)
54
+ rack-protection (1.3.2)
48
55
  rack
49
56
  rake (0.9.2.2)
50
57
  rspec (0.6.4)
51
- sass (3.2.3)
58
+ sass (3.2.5)
52
59
  sequel (3.37.0)
53
60
  sinatra (1.3.3)
54
61
  rack (~> 1.3, >= 1.3.6)
55
62
  rack-protection (~> 1.2)
56
63
  tilt (~> 1.3, >= 1.3.3)
57
- sinatra-param (0.1.1)
64
+ sinatra-param (0.1.2)
58
65
  sinatra (~> 1.3)
59
- sprockets (2.8.1)
66
+ sprockets (2.8.2)
60
67
  hike (~> 1.2)
61
68
  multi_json (~> 1.0)
62
69
  rack (~> 1.0)
data/README.md CHANGED
@@ -6,7 +6,12 @@ Rack::PushNotification
6
6
 
7
7
  `Rack::PushNotification` generates API endpoints that can be consumed by iOS apps to register and unregister for push notifications. Along with the registration API, `Rack::PushNotification` spawns an admin console that gives you a convenient interface to manage device tokens and compose targeted push notification messages.
8
8
 
9
+ ## Screenshots
10
+
9
11
  ![Devices Screenshot](https://raw.github.com/mattt/rack-push-notification/screenshots/rack-push-notifications-screenshot-devices.png)
12
+
13
+ ---
14
+
10
15
  ![Compose Screenshot](https://raw.github.com/mattt/rack-push-notification/screenshots/rack-push-notifications-screenshot-compose.png)
11
16
 
12
17
  ## Example Record
@@ -28,7 +33,7 @@ Each device has a `token`, which uniquely identifies the app installation on a p
28
33
 
29
34
  A device's `locale` & `language` can be used to localize outgoing communications to that particular user. Having `timezone` information gives you the ability to schedule messages for an exact time of day, to ensure maximum impact (and minimum annoyance). `ip_address` as well as `lat` and `lng` allows you to specifically target users according to their geographic location.
30
35
 
31
- **It is strongly recommended that you use `Rack::PushNotification` in conjunction with some sort of Rack authentication middleware, so that the registration endpoints are not accessible without some form of credentials.**
36
+ **It is strongly recommended that you use `Rack::PushNotification` in conjunction with some sort of Rack authentication middleware, so that the administration endpoints are not accessible without some form of credentials.**
32
37
 
33
38
  ## Example Usage
34
39
 
@@ -25,6 +25,7 @@ html body
25
25
  nav
26
26
  @extend .navbar-inner
27
27
 
28
+
28
29
  ul
29
30
  @extend .nav
30
31
 
@@ -1,4 +1,4 @@
1
- Sequel.connect(ENV['DATABASE_URL'] || "postgres://localhost:5432/rack_push_notification")
1
+ Sequel.connect(ENV['DATABASE_URL'])
2
2
 
3
3
  module Rack
4
4
  class PushNotification::Device < Sequel::Model
@@ -0,0 +1,5 @@
1
+ module Rack
2
+ class PushNotification
3
+ VERSION = '0.1.1'
4
+ end
5
+ end
@@ -10,7 +10,8 @@ Sequel.extension(:pg_array, :migration)
10
10
 
11
11
  module Rack
12
12
  class PushNotification < Sinatra::Base
13
- VERSION = '0.1.0'
13
+ autoload :Device, 'rack/push-notification/device'
14
+ autoload :Admin, 'rack/push-notification/admin'
14
15
 
15
16
  use Rack::PostBodyContentTypeParser
16
17
  helpers Sinatra::Param
@@ -52,5 +53,4 @@ module Rack
52
53
  end
53
54
  end
54
55
 
55
- require 'rack/push-notification/device'
56
- require 'rack/push-notification/admin'
56
+ require 'rack/push-notification/version'
Binary file
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_dependency "haml", "~> 3.1.7"
25
25
  s.add_dependency "sass", "~> 3.2.3"
26
26
  s.add_dependency "bootstrap-sass", "~> 2.1.1"
27
+ s.add_dependency "compass", "~> 0.11.5"
27
28
  s.add_dependency "sprockets", "~> 2.8.1"
28
29
  s.add_dependency "sprockets-sass", "~> 0.9.1"
29
30
  s.add_dependency "houston", "~> 0.1.1"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-push-notification
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
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-12-04 00:00:00.000000000 Z
12
+ date: 2013-01-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70266564219180 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: 0.6.1
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: 0.6.1
24
+ version_requirements: *70266564219180
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: rake
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &70266564218660 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ~>
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: 0.9.2
38
33
  type: :development
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: 0.9.2
35
+ version_requirements: *70266564218660
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: rack
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &70266564218160 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ~>
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: '1.4'
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '1.4'
46
+ version_requirements: *70266564218160
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: rack-contrib
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &70266564217700 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ~>
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: 1.1.0
70
55
  type: :runtime
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: 1.1.0
57
+ version_requirements: *70266564217700
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: sequel
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &70266564217240 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ~>
@@ -85,15 +65,10 @@ dependencies:
85
65
  version: 3.37.0
86
66
  type: :runtime
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ~>
92
- - !ruby/object:Gem::Version
93
- version: 3.37.0
68
+ version_requirements: *70266564217240
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: sinatra
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &70266564216760 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
74
  - - ~>
@@ -101,15 +76,10 @@ dependencies:
101
76
  version: 1.3.2
102
77
  type: :runtime
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ~>
108
- - !ruby/object:Gem::Version
109
- version: 1.3.2
79
+ version_requirements: *70266564216760
110
80
  - !ruby/object:Gem::Dependency
111
81
  name: sinatra-param
112
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &70266564216300 !ruby/object:Gem::Requirement
113
83
  none: false
114
84
  requirements:
115
85
  - - ~>
@@ -117,15 +87,10 @@ dependencies:
117
87
  version: 0.1.1
118
88
  type: :runtime
119
89
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ~>
124
- - !ruby/object:Gem::Version
125
- version: 0.1.1
90
+ version_requirements: *70266564216300
126
91
  - !ruby/object:Gem::Dependency
127
92
  name: coffee-script
128
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &70266564215580 !ruby/object:Gem::Requirement
129
94
  none: false
130
95
  requirements:
131
96
  - - ~>
@@ -133,15 +98,10 @@ dependencies:
133
98
  version: 2.2.0
134
99
  type: :runtime
135
100
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ~>
140
- - !ruby/object:Gem::Version
141
- version: 2.2.0
101
+ version_requirements: *70266564215580
142
102
  - !ruby/object:Gem::Dependency
143
103
  name: eco
144
- requirement: !ruby/object:Gem::Requirement
104
+ requirement: &70266564214960 !ruby/object:Gem::Requirement
145
105
  none: false
146
106
  requirements:
147
107
  - - ~>
@@ -149,15 +109,10 @@ dependencies:
149
109
  version: 1.0.0
150
110
  type: :runtime
151
111
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ~>
156
- - !ruby/object:Gem::Version
157
- version: 1.0.0
112
+ version_requirements: *70266564214960
158
113
  - !ruby/object:Gem::Dependency
159
114
  name: haml
160
- requirement: !ruby/object:Gem::Requirement
115
+ requirement: &70266564214500 !ruby/object:Gem::Requirement
161
116
  none: false
162
117
  requirements:
163
118
  - - ~>
@@ -165,15 +120,10 @@ dependencies:
165
120
  version: 3.1.7
166
121
  type: :runtime
167
122
  prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ~>
172
- - !ruby/object:Gem::Version
173
- version: 3.1.7
123
+ version_requirements: *70266564214500
174
124
  - !ruby/object:Gem::Dependency
175
125
  name: sass
176
- requirement: !ruby/object:Gem::Requirement
126
+ requirement: &70266564214040 !ruby/object:Gem::Requirement
177
127
  none: false
178
128
  requirements:
179
129
  - - ~>
@@ -181,15 +131,10 @@ dependencies:
181
131
  version: 3.2.3
182
132
  type: :runtime
183
133
  prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
- requirements:
187
- - - ~>
188
- - !ruby/object:Gem::Version
189
- version: 3.2.3
134
+ version_requirements: *70266564214040
190
135
  - !ruby/object:Gem::Dependency
191
136
  name: bootstrap-sass
192
- requirement: !ruby/object:Gem::Requirement
137
+ requirement: &70266564213580 !ruby/object:Gem::Requirement
193
138
  none: false
194
139
  requirements:
195
140
  - - ~>
@@ -197,15 +142,21 @@ dependencies:
197
142
  version: 2.1.1
198
143
  type: :runtime
199
144
  prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
145
+ version_requirements: *70266564213580
146
+ - !ruby/object:Gem::Dependency
147
+ name: compass
148
+ requirement: &70266564213080 !ruby/object:Gem::Requirement
201
149
  none: false
202
150
  requirements:
203
151
  - - ~>
204
152
  - !ruby/object:Gem::Version
205
- version: 2.1.1
153
+ version: 0.11.5
154
+ type: :runtime
155
+ prerelease: false
156
+ version_requirements: *70266564213080
206
157
  - !ruby/object:Gem::Dependency
207
158
  name: sprockets
208
- requirement: !ruby/object:Gem::Requirement
159
+ requirement: &70266564212580 !ruby/object:Gem::Requirement
209
160
  none: false
210
161
  requirements:
211
162
  - - ~>
@@ -213,15 +164,10 @@ dependencies:
213
164
  version: 2.8.1
214
165
  type: :runtime
215
166
  prerelease: false
216
- version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
- requirements:
219
- - - ~>
220
- - !ruby/object:Gem::Version
221
- version: 2.8.1
167
+ version_requirements: *70266564212580
222
168
  - !ruby/object:Gem::Dependency
223
169
  name: sprockets-sass
224
- requirement: !ruby/object:Gem::Requirement
170
+ requirement: &70266564212120 !ruby/object:Gem::Requirement
225
171
  none: false
226
172
  requirements:
227
173
  - - ~>
@@ -229,15 +175,10 @@ dependencies:
229
175
  version: 0.9.1
230
176
  type: :runtime
231
177
  prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
- requirements:
235
- - - ~>
236
- - !ruby/object:Gem::Version
237
- version: 0.9.1
178
+ version_requirements: *70266564212120
238
179
  - !ruby/object:Gem::Dependency
239
180
  name: houston
240
- requirement: !ruby/object:Gem::Requirement
181
+ requirement: &70266564211640 !ruby/object:Gem::Requirement
241
182
  none: false
242
183
  requirements:
243
184
  - - ~>
@@ -245,12 +186,7 @@ dependencies:
245
186
  version: 0.1.1
246
187
  type: :runtime
247
188
  prerelease: false
248
- version_requirements: !ruby/object:Gem::Requirement
249
- none: false
250
- requirements:
251
- - - ~>
252
- - !ruby/object:Gem::Version
253
- version: 0.1.1
189
+ version_requirements: *70266564211640
254
190
  description: Generate a REST API for registering and querying push notification device
255
191
  tokens.
256
192
  email: m@mattt.me
@@ -289,8 +225,10 @@ files:
289
225
  - ./lib/rack/push-notification/device.rb
290
226
  - ./lib/rack/push-notification/migrations/001_base_schema.rb
291
227
  - ./lib/rack/push-notification/migrations/002_add_full_text_search.rb
228
+ - ./lib/rack/push-notification/version.rb
292
229
  - ./lib/rack/push-notification.rb
293
230
  - ./LICENSE
231
+ - ./rack-push-notification-0.1.0.gem
294
232
  - ./rack-push-notification.gemspec
295
233
  - ./Rakefile
296
234
  - ./README.md
@@ -308,7 +246,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
308
246
  version: '0'
309
247
  segments:
310
248
  - 0
311
- hash: -2802516591035753533
249
+ hash: 1485490747979336486
312
250
  required_rubygems_version: !ruby/object:Gem::Requirement
313
251
  none: false
314
252
  requirements:
@@ -317,10 +255,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
317
255
  version: '0'
318
256
  segments:
319
257
  - 0
320
- hash: -2802516591035753533
258
+ hash: 1485490747979336486
321
259
  requirements: []
322
260
  rubyforge_project:
323
- rubygems_version: 1.8.24
261
+ rubygems_version: 1.8.15
324
262
  signing_key:
325
263
  specification_version: 3
326
264
  summary: Rack::PushNotification