primer 0.1.0 → 0.2.0

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.
Files changed (72) hide show
  1. data/History.txt +17 -0
  2. data/README.rdoc +74 -35
  3. data/example/README.rdoc +33 -23
  4. data/example/application.rb +2 -2
  5. data/example/console.rb +133 -0
  6. data/example/db/blog.sqlite3 +0 -0
  7. data/example/{models → db}/connection.rb +0 -0
  8. data/example/environment.rb +17 -4
  9. data/example/models/comment.rb +5 -0
  10. data/example/models/post.rb +5 -0
  11. data/example/script/setup_database.rb +8 -2
  12. data/example/views/comments.erb +6 -0
  13. data/example/views/layout.erb +1 -1
  14. data/example/views/show.erb +5 -1
  15. data/lib/primer/bus/amqp.rb +7 -5
  16. data/lib/primer/bus/amqp.rbc +1045 -0
  17. data/lib/primer/bus/memory.rbc +344 -0
  18. data/lib/primer/bus.rb +3 -2
  19. data/lib/primer/bus.rbc +872 -0
  20. data/lib/primer/cache/memory.rbc +1443 -0
  21. data/lib/primer/cache/redis.rb +2 -2
  22. data/lib/primer/cache/redis.rbc +1643 -0
  23. data/lib/primer/cache.rb +2 -16
  24. data/lib/primer/cache.rbc +1502 -0
  25. data/lib/primer/enabler.rbc +414 -0
  26. data/lib/primer/helpers.rbc +1438 -0
  27. data/lib/primer/lazyness.rb +63 -0
  28. data/lib/primer/lazyness.rbc +1442 -0
  29. data/lib/primer/real_time.rbc +1999 -0
  30. data/lib/primer/route_set.rb +1 -0
  31. data/lib/primer/route_set.rbc +1475 -0
  32. data/lib/primer/watcher/active_record_macros.rb +13 -3
  33. data/lib/primer/watcher/active_record_macros.rbc +1796 -0
  34. data/lib/primer/watcher/macros.rb +11 -14
  35. data/lib/primer/watcher/macros.rbc +1628 -0
  36. data/lib/primer/watcher.rb +2 -7
  37. data/lib/primer/watcher.rbc +1416 -0
  38. data/lib/primer/worker/active_record_agent.rb +30 -33
  39. data/lib/primer/worker/active_record_agent.rbc +2840 -0
  40. data/lib/primer/worker/changes_agent.rb +20 -0
  41. data/lib/primer/worker/changes_agent.rbc +578 -0
  42. data/lib/primer/worker.rb +20 -3
  43. data/lib/primer/worker.rbc +1254 -0
  44. data/lib/primer.rb +10 -2
  45. data/lib/primer.rbc +944 -0
  46. data/spec/db/test.sqlite3 +0 -0
  47. data/spec/models/artist.rb +3 -2
  48. data/spec/models/artist.rbc +288 -0
  49. data/spec/models/blog_post.rb +3 -1
  50. data/spec/models/blog_post.rbc +181 -0
  51. data/spec/models/calendar.rbc +209 -0
  52. data/spec/models/concert.rbc +211 -0
  53. data/spec/models/performance.rbc +177 -0
  54. data/spec/models/person.rb +1 -0
  55. data/spec/models/person.rbc +306 -0
  56. data/spec/models/watchable.rbc +363 -0
  57. data/spec/primer/bus_spec.rbc +940 -0
  58. data/spec/primer/cache_spec.rb +3 -3
  59. data/spec/primer/cache_spec.rbc +8535 -0
  60. data/spec/primer/helpers/erb_spec.rb +14 -14
  61. data/spec/primer/helpers/erb_spec.rbc +2485 -0
  62. data/spec/primer/lazyness_spec.rb +61 -0
  63. data/spec/primer/lazyness_spec.rbc +1408 -0
  64. data/spec/primer/watcher/active_record_spec.rb +15 -15
  65. data/spec/primer/watcher/active_record_spec.rbc +5202 -0
  66. data/spec/primer/watcher_spec.rbc +2645 -0
  67. data/spec/schema.rbc +775 -0
  68. data/spec/spec_helper.rb +3 -0
  69. data/spec/spec_helper.rbc +1193 -0
  70. data/spec/templates/page.erb +0 -1
  71. metadata +77 -70
  72. data/example/models/blog_post.rb +0 -4
@@ -0,0 +1,211 @@
1
+ !RBIX
2
+ 10310238139619683799
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 33
13
+ 99
14
+ 7
15
+ 0
16
+ 45
17
+ 1
18
+ 2
19
+ 43
20
+ 3
21
+ 65
22
+ 49
23
+ 4
24
+ 3
25
+ 13
26
+ 99
27
+ 12
28
+ 7
29
+ 5
30
+ 12
31
+ 7
32
+ 6
33
+ 12
34
+ 65
35
+ 12
36
+ 49
37
+ 7
38
+ 4
39
+ 15
40
+ 49
41
+ 5
42
+ 0
43
+ 15
44
+ 2
45
+ 11
46
+ I
47
+ 6
48
+ I
49
+ 0
50
+ I
51
+ 0
52
+ I
53
+ 0
54
+ n
55
+ p
56
+ 8
57
+ x
58
+ 7
59
+ Concert
60
+ x
61
+ 12
62
+ ActiveRecord
63
+ n
64
+ x
65
+ 4
66
+ Base
67
+ x
68
+ 10
69
+ open_class
70
+ x
71
+ 14
72
+ __class_init__
73
+ M
74
+ 1
75
+ n
76
+ n
77
+ x
78
+ 7
79
+ Concert
80
+ i
81
+ 45
82
+ 5
83
+ 66
84
+ 5
85
+ 7
86
+ 0
87
+ 47
88
+ 49
89
+ 1
90
+ 1
91
+ 15
92
+ 5
93
+ 7
94
+ 2
95
+ 44
96
+ 43
97
+ 3
98
+ 79
99
+ 49
100
+ 4
101
+ 1
102
+ 13
103
+ 7
104
+ 5
105
+ 7
106
+ 6
107
+ 49
108
+ 7
109
+ 2
110
+ 15
111
+ 47
112
+ 49
113
+ 8
114
+ 2
115
+ 15
116
+ 5
117
+ 45
118
+ 9
119
+ 10
120
+ 43
121
+ 11
122
+ 47
123
+ 49
124
+ 12
125
+ 1
126
+ 11
127
+ I
128
+ 6
129
+ I
130
+ 0
131
+ I
132
+ 0
133
+ I
134
+ 0
135
+ n
136
+ p
137
+ 13
138
+ x
139
+ 8
140
+ calendar
141
+ x
142
+ 10
143
+ belongs_to
144
+ x
145
+ 12
146
+ performances
147
+ x
148
+ 4
149
+ Hash
150
+ x
151
+ 16
152
+ new_from_literal
153
+ x
154
+ 9
155
+ dependent
156
+ x
157
+ 7
158
+ destroy
159
+ x
160
+ 3
161
+ []=
162
+ x
163
+ 8
164
+ has_many
165
+ x
166
+ 6
167
+ Primer
168
+ n
169
+ x
170
+ 7
171
+ Watcher
172
+ x
173
+ 7
174
+ include
175
+ p
176
+ 7
177
+ I
178
+ 2
179
+ I
180
+ 2
181
+ I
182
+ a
183
+ I
184
+ 3
185
+ I
186
+ 22
187
+ I
188
+ 4
189
+ I
190
+ 2d
191
+ x
192
+ 53
193
+ /Users/jcoglan/projects/primer/spec/models/concert.rb
194
+ p
195
+ 0
196
+ x
197
+ 13
198
+ attach_method
199
+ p
200
+ 3
201
+ I
202
+ 0
203
+ I
204
+ 1
205
+ I
206
+ 21
207
+ x
208
+ 53
209
+ /Users/jcoglan/projects/primer/spec/models/concert.rb
210
+ p
211
+ 0
@@ -0,0 +1,177 @@
1
+ !RBIX
2
+ 10310238139619683799
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 33
13
+ 99
14
+ 7
15
+ 0
16
+ 45
17
+ 1
18
+ 2
19
+ 43
20
+ 3
21
+ 65
22
+ 49
23
+ 4
24
+ 3
25
+ 13
26
+ 99
27
+ 12
28
+ 7
29
+ 5
30
+ 12
31
+ 7
32
+ 6
33
+ 12
34
+ 65
35
+ 12
36
+ 49
37
+ 7
38
+ 4
39
+ 15
40
+ 49
41
+ 5
42
+ 0
43
+ 15
44
+ 2
45
+ 11
46
+ I
47
+ 6
48
+ I
49
+ 0
50
+ I
51
+ 0
52
+ I
53
+ 0
54
+ n
55
+ p
56
+ 8
57
+ x
58
+ 11
59
+ Performance
60
+ x
61
+ 12
62
+ ActiveRecord
63
+ n
64
+ x
65
+ 4
66
+ Base
67
+ x
68
+ 10
69
+ open_class
70
+ x
71
+ 14
72
+ __class_init__
73
+ M
74
+ 1
75
+ n
76
+ n
77
+ x
78
+ 11
79
+ Performance
80
+ i
81
+ 29
82
+ 5
83
+ 66
84
+ 5
85
+ 7
86
+ 0
87
+ 47
88
+ 49
89
+ 1
90
+ 1
91
+ 15
92
+ 5
93
+ 7
94
+ 2
95
+ 47
96
+ 49
97
+ 1
98
+ 1
99
+ 15
100
+ 5
101
+ 45
102
+ 3
103
+ 4
104
+ 43
105
+ 5
106
+ 47
107
+ 49
108
+ 6
109
+ 1
110
+ 11
111
+ I
112
+ 2
113
+ I
114
+ 0
115
+ I
116
+ 0
117
+ I
118
+ 0
119
+ n
120
+ p
121
+ 7
122
+ x
123
+ 6
124
+ artist
125
+ x
126
+ 10
127
+ belongs_to
128
+ x
129
+ 7
130
+ concert
131
+ x
132
+ 6
133
+ Primer
134
+ n
135
+ x
136
+ 7
137
+ Watcher
138
+ x
139
+ 7
140
+ include
141
+ p
142
+ 7
143
+ I
144
+ 2
145
+ I
146
+ 2
147
+ I
148
+ a
149
+ I
150
+ 3
151
+ I
152
+ 12
153
+ I
154
+ 4
155
+ I
156
+ 1d
157
+ x
158
+ 57
159
+ /Users/jcoglan/projects/primer/spec/models/performance.rb
160
+ p
161
+ 0
162
+ x
163
+ 13
164
+ attach_method
165
+ p
166
+ 3
167
+ I
168
+ 0
169
+ I
170
+ 1
171
+ I
172
+ 21
173
+ x
174
+ 57
175
+ /Users/jcoglan/projects/primer/spec/models/performance.rb
176
+ p
177
+ 0
@@ -2,6 +2,7 @@ class Person < ActiveRecord::Base
2
2
  has_many :blog_posts
3
3
 
4
4
  include Primer::Watcher
5
+ include Primer::Lazyness
5
6
 
6
7
  def all_attributes
7
8
  [id, the_name]
@@ -0,0 +1,306 @@
1
+ !RBIX
2
+ 10310238139619683799
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 33
13
+ 99
14
+ 7
15
+ 0
16
+ 45
17
+ 1
18
+ 2
19
+ 43
20
+ 3
21
+ 65
22
+ 49
23
+ 4
24
+ 3
25
+ 13
26
+ 99
27
+ 12
28
+ 7
29
+ 5
30
+ 12
31
+ 7
32
+ 6
33
+ 12
34
+ 65
35
+ 12
36
+ 49
37
+ 7
38
+ 4
39
+ 15
40
+ 49
41
+ 5
42
+ 0
43
+ 15
44
+ 2
45
+ 11
46
+ I
47
+ 6
48
+ I
49
+ 0
50
+ I
51
+ 0
52
+ I
53
+ 0
54
+ n
55
+ p
56
+ 8
57
+ x
58
+ 6
59
+ Person
60
+ x
61
+ 12
62
+ ActiveRecord
63
+ n
64
+ x
65
+ 4
66
+ Base
67
+ x
68
+ 10
69
+ open_class
70
+ x
71
+ 14
72
+ __class_init__
73
+ M
74
+ 1
75
+ n
76
+ n
77
+ x
78
+ 6
79
+ Person
80
+ i
81
+ 49
82
+ 5
83
+ 66
84
+ 5
85
+ 7
86
+ 0
87
+ 47
88
+ 49
89
+ 1
90
+ 1
91
+ 15
92
+ 5
93
+ 45
94
+ 2
95
+ 3
96
+ 43
97
+ 4
98
+ 47
99
+ 49
100
+ 5
101
+ 1
102
+ 15
103
+ 99
104
+ 7
105
+ 6
106
+ 7
107
+ 7
108
+ 65
109
+ 67
110
+ 49
111
+ 8
112
+ 0
113
+ 49
114
+ 9
115
+ 4
116
+ 15
117
+ 99
118
+ 7
119
+ 10
120
+ 7
121
+ 11
122
+ 65
123
+ 67
124
+ 49
125
+ 8
126
+ 0
127
+ 49
128
+ 9
129
+ 4
130
+ 11
131
+ I
132
+ 5
133
+ I
134
+ 0
135
+ I
136
+ 0
137
+ I
138
+ 0
139
+ n
140
+ p
141
+ 12
142
+ x
143
+ 10
144
+ blog_posts
145
+ x
146
+ 8
147
+ has_many
148
+ x
149
+ 6
150
+ Primer
151
+ n
152
+ x
153
+ 7
154
+ Watcher
155
+ x
156
+ 7
157
+ include
158
+ x
159
+ 14
160
+ all_attributes
161
+ M
162
+ 1
163
+ n
164
+ n
165
+ x
166
+ 14
167
+ all_attributes
168
+ i
169
+ 9
170
+ 5
171
+ 48
172
+ 0
173
+ 5
174
+ 48
175
+ 1
176
+ 35
177
+ 2
178
+ 11
179
+ I
180
+ 2
181
+ I
182
+ 0
183
+ I
184
+ 0
185
+ I
186
+ 0
187
+ n
188
+ p
189
+ 2
190
+ x
191
+ 2
192
+ id
193
+ x
194
+ 8
195
+ the_name
196
+ p
197
+ 5
198
+ I
199
+ -1
200
+ I
201
+ 7
202
+ I
203
+ 0
204
+ I
205
+ 8
206
+ I
207
+ 9
208
+ x
209
+ 52
210
+ /Users/jcoglan/projects/primer/spec/models/person.rb
211
+ p
212
+ 0
213
+ x
214
+ 17
215
+ method_visibility
216
+ x
217
+ 15
218
+ add_defn_method
219
+ x
220
+ 8
221
+ the_name
222
+ M
223
+ 1
224
+ n
225
+ n
226
+ x
227
+ 8
228
+ the_name
229
+ i
230
+ 4
231
+ 5
232
+ 48
233
+ 0
234
+ 11
235
+ I
236
+ 1
237
+ I
238
+ 0
239
+ I
240
+ 0
241
+ I
242
+ 0
243
+ n
244
+ p
245
+ 1
246
+ x
247
+ 4
248
+ name
249
+ p
250
+ 5
251
+ I
252
+ -1
253
+ I
254
+ b
255
+ I
256
+ 0
257
+ I
258
+ c
259
+ I
260
+ 4
261
+ x
262
+ 52
263
+ /Users/jcoglan/projects/primer/spec/models/person.rb
264
+ p
265
+ 0
266
+ p
267
+ 9
268
+ I
269
+ 2
270
+ I
271
+ 2
272
+ I
273
+ a
274
+ I
275
+ 4
276
+ I
277
+ 15
278
+ I
279
+ 7
280
+ I
281
+ 23
282
+ I
283
+ b
284
+ I
285
+ 31
286
+ x
287
+ 52
288
+ /Users/jcoglan/projects/primer/spec/models/person.rb
289
+ p
290
+ 0
291
+ x
292
+ 13
293
+ attach_method
294
+ p
295
+ 3
296
+ I
297
+ 0
298
+ I
299
+ 1
300
+ I
301
+ 21
302
+ x
303
+ 52
304
+ /Users/jcoglan/projects/primer/spec/models/person.rb
305
+ p
306
+ 0