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
data/spec/schema.rbc ADDED
@@ -0,0 +1,775 @@
1
+ !RBIX
2
+ 10310238139619683799
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 13
13
+ 45
14
+ 0
15
+ 1
16
+ 43
17
+ 2
18
+ 56
19
+ 3
20
+ 50
21
+ 4
22
+ 0
23
+ 15
24
+ 2
25
+ 11
26
+ I
27
+ 2
28
+ I
29
+ 0
30
+ I
31
+ 0
32
+ I
33
+ 0
34
+ n
35
+ p
36
+ 5
37
+ x
38
+ 12
39
+ ActiveRecord
40
+ n
41
+ x
42
+ 6
43
+ Schema
44
+ M
45
+ 1
46
+ p
47
+ 2
48
+ x
49
+ 9
50
+ for_block
51
+ t
52
+ n
53
+ x
54
+ 9
55
+ __block__
56
+ i
57
+ 154
58
+ 57
59
+ 19
60
+ 0
61
+ 15
62
+ 5
63
+ 7
64
+ 0
65
+ 44
66
+ 43
67
+ 1
68
+ 79
69
+ 49
70
+ 2
71
+ 1
72
+ 13
73
+ 7
74
+ 3
75
+ 2
76
+ 49
77
+ 4
78
+ 2
79
+ 15
80
+ 56
81
+ 5
82
+ 47
83
+ 50
84
+ 6
85
+ 2
86
+ 15
87
+ 5
88
+ 7
89
+ 7
90
+ 44
91
+ 43
92
+ 1
93
+ 79
94
+ 49
95
+ 2
96
+ 1
97
+ 13
98
+ 7
99
+ 3
100
+ 2
101
+ 49
102
+ 4
103
+ 2
104
+ 15
105
+ 56
106
+ 8
107
+ 47
108
+ 50
109
+ 6
110
+ 2
111
+ 15
112
+ 5
113
+ 7
114
+ 9
115
+ 44
116
+ 43
117
+ 1
118
+ 79
119
+ 49
120
+ 2
121
+ 1
122
+ 13
123
+ 7
124
+ 3
125
+ 2
126
+ 49
127
+ 4
128
+ 2
129
+ 15
130
+ 56
131
+ 10
132
+ 47
133
+ 50
134
+ 6
135
+ 2
136
+ 15
137
+ 5
138
+ 7
139
+ 11
140
+ 44
141
+ 43
142
+ 1
143
+ 79
144
+ 49
145
+ 2
146
+ 1
147
+ 13
148
+ 7
149
+ 3
150
+ 2
151
+ 49
152
+ 4
153
+ 2
154
+ 15
155
+ 56
156
+ 12
157
+ 47
158
+ 50
159
+ 6
160
+ 2
161
+ 15
162
+ 5
163
+ 7
164
+ 13
165
+ 44
166
+ 43
167
+ 1
168
+ 79
169
+ 49
170
+ 2
171
+ 1
172
+ 13
173
+ 7
174
+ 3
175
+ 2
176
+ 49
177
+ 4
178
+ 2
179
+ 15
180
+ 56
181
+ 14
182
+ 47
183
+ 50
184
+ 6
185
+ 2
186
+ 15
187
+ 5
188
+ 7
189
+ 15
190
+ 44
191
+ 43
192
+ 1
193
+ 79
194
+ 49
195
+ 2
196
+ 1
197
+ 13
198
+ 7
199
+ 3
200
+ 2
201
+ 49
202
+ 4
203
+ 2
204
+ 15
205
+ 56
206
+ 16
207
+ 47
208
+ 50
209
+ 6
210
+ 2
211
+ 11
212
+ I
213
+ 8
214
+ I
215
+ 1
216
+ I
217
+ 1
218
+ I
219
+ 1
220
+ n
221
+ p
222
+ 17
223
+ x
224
+ 7
225
+ artists
226
+ x
227
+ 4
228
+ Hash
229
+ x
230
+ 16
231
+ new_from_literal
232
+ x
233
+ 5
234
+ force
235
+ x
236
+ 3
237
+ []=
238
+ M
239
+ 1
240
+ p
241
+ 2
242
+ x
243
+ 9
244
+ for_block
245
+ t
246
+ n
247
+ x
248
+ 9
249
+ __block__
250
+ i
251
+ 20
252
+ 57
253
+ 19
254
+ 0
255
+ 15
256
+ 20
257
+ 0
258
+ 7
259
+ 0
260
+ 49
261
+ 1
262
+ 1
263
+ 15
264
+ 20
265
+ 0
266
+ 7
267
+ 2
268
+ 49
269
+ 3
270
+ 1
271
+ 11
272
+ I
273
+ 4
274
+ I
275
+ 1
276
+ I
277
+ 1
278
+ I
279
+ 1
280
+ n
281
+ p
282
+ 4
283
+ x
284
+ 8
285
+ calendar
286
+ x
287
+ 10
288
+ belongs_to
289
+ x
290
+ 4
291
+ name
292
+ x
293
+ 6
294
+ string
295
+ p
296
+ 7
297
+ I
298
+ 0
299
+ I
300
+ 2
301
+ I
302
+ 4
303
+ I
304
+ 3
305
+ I
306
+ c
307
+ I
308
+ 4
309
+ I
310
+ 14
311
+ x
312
+ 45
313
+ /Users/jcoglan/projects/primer/spec/schema.rb
314
+ p
315
+ 1
316
+ x
317
+ 1
318
+ t
319
+ x
320
+ 12
321
+ create_table
322
+ x
323
+ 9
324
+ calendars
325
+ M
326
+ 1
327
+ p
328
+ 2
329
+ x
330
+ 9
331
+ for_block
332
+ t
333
+ n
334
+ x
335
+ 9
336
+ __block__
337
+ i
338
+ 6
339
+ 57
340
+ 19
341
+ 0
342
+ 15
343
+ 1
344
+ 11
345
+ I
346
+ 3
347
+ I
348
+ 1
349
+ I
350
+ 1
351
+ I
352
+ 1
353
+ n
354
+ p
355
+ 0
356
+ p
357
+ 3
358
+ I
359
+ 0
360
+ I
361
+ 7
362
+ I
363
+ 6
364
+ x
365
+ 45
366
+ /Users/jcoglan/projects/primer/spec/schema.rb
367
+ p
368
+ 1
369
+ x
370
+ 1
371
+ t
372
+ x
373
+ 8
374
+ concerts
375
+ M
376
+ 1
377
+ p
378
+ 2
379
+ x
380
+ 9
381
+ for_block
382
+ t
383
+ n
384
+ x
385
+ 9
386
+ __block__
387
+ i
388
+ 28
389
+ 57
390
+ 19
391
+ 0
392
+ 15
393
+ 20
394
+ 0
395
+ 7
396
+ 0
397
+ 49
398
+ 1
399
+ 1
400
+ 15
401
+ 20
402
+ 0
403
+ 7
404
+ 2
405
+ 49
406
+ 2
407
+ 1
408
+ 15
409
+ 20
410
+ 0
411
+ 7
412
+ 3
413
+ 49
414
+ 4
415
+ 1
416
+ 11
417
+ I
418
+ 4
419
+ I
420
+ 1
421
+ I
422
+ 1
423
+ I
424
+ 1
425
+ n
426
+ p
427
+ 5
428
+ x
429
+ 8
430
+ calendar
431
+ x
432
+ 10
433
+ belongs_to
434
+ x
435
+ 4
436
+ date
437
+ x
438
+ 5
439
+ venue
440
+ x
441
+ 6
442
+ string
443
+ p
444
+ 9
445
+ I
446
+ 0
447
+ I
448
+ a
449
+ I
450
+ 4
451
+ I
452
+ b
453
+ I
454
+ c
455
+ I
456
+ c
457
+ I
458
+ 14
459
+ I
460
+ d
461
+ I
462
+ 1c
463
+ x
464
+ 45
465
+ /Users/jcoglan/projects/primer/spec/schema.rb
466
+ p
467
+ 1
468
+ x
469
+ 1
470
+ t
471
+ x
472
+ 12
473
+ performances
474
+ M
475
+ 1
476
+ p
477
+ 2
478
+ x
479
+ 9
480
+ for_block
481
+ t
482
+ n
483
+ x
484
+ 9
485
+ __block__
486
+ i
487
+ 20
488
+ 57
489
+ 19
490
+ 0
491
+ 15
492
+ 20
493
+ 0
494
+ 7
495
+ 0
496
+ 49
497
+ 1
498
+ 1
499
+ 15
500
+ 20
501
+ 0
502
+ 7
503
+ 2
504
+ 49
505
+ 1
506
+ 1
507
+ 11
508
+ I
509
+ 4
510
+ I
511
+ 1
512
+ I
513
+ 1
514
+ I
515
+ 1
516
+ n
517
+ p
518
+ 3
519
+ x
520
+ 6
521
+ artist
522
+ x
523
+ 10
524
+ belongs_to
525
+ x
526
+ 7
527
+ concert
528
+ p
529
+ 7
530
+ I
531
+ 0
532
+ I
533
+ 10
534
+ I
535
+ 4
536
+ I
537
+ 11
538
+ I
539
+ c
540
+ I
541
+ 12
542
+ I
543
+ 14
544
+ x
545
+ 45
546
+ /Users/jcoglan/projects/primer/spec/schema.rb
547
+ p
548
+ 1
549
+ x
550
+ 1
551
+ t
552
+ x
553
+ 10
554
+ blog_posts
555
+ M
556
+ 1
557
+ p
558
+ 2
559
+ x
560
+ 9
561
+ for_block
562
+ t
563
+ n
564
+ x
565
+ 9
566
+ __block__
567
+ i
568
+ 20
569
+ 57
570
+ 19
571
+ 0
572
+ 15
573
+ 20
574
+ 0
575
+ 7
576
+ 0
577
+ 49
578
+ 1
579
+ 1
580
+ 15
581
+ 20
582
+ 0
583
+ 7
584
+ 2
585
+ 49
586
+ 3
587
+ 1
588
+ 11
589
+ I
590
+ 4
591
+ I
592
+ 1
593
+ I
594
+ 1
595
+ I
596
+ 1
597
+ n
598
+ p
599
+ 4
600
+ x
601
+ 6
602
+ person
603
+ x
604
+ 10
605
+ belongs_to
606
+ x
607
+ 5
608
+ title
609
+ x
610
+ 6
611
+ string
612
+ p
613
+ 7
614
+ I
615
+ 0
616
+ I
617
+ 15
618
+ I
619
+ 4
620
+ I
621
+ 16
622
+ I
623
+ c
624
+ I
625
+ 17
626
+ I
627
+ 14
628
+ x
629
+ 45
630
+ /Users/jcoglan/projects/primer/spec/schema.rb
631
+ p
632
+ 1
633
+ x
634
+ 1
635
+ t
636
+ x
637
+ 6
638
+ people
639
+ M
640
+ 1
641
+ p
642
+ 2
643
+ x
644
+ 9
645
+ for_block
646
+ t
647
+ n
648
+ x
649
+ 9
650
+ __block__
651
+ i
652
+ 20
653
+ 57
654
+ 19
655
+ 0
656
+ 15
657
+ 20
658
+ 0
659
+ 7
660
+ 0
661
+ 49
662
+ 1
663
+ 1
664
+ 15
665
+ 20
666
+ 0
667
+ 7
668
+ 2
669
+ 49
670
+ 3
671
+ 1
672
+ 11
673
+ I
674
+ 4
675
+ I
676
+ 1
677
+ I
678
+ 1
679
+ I
680
+ 1
681
+ n
682
+ p
683
+ 4
684
+ x
685
+ 4
686
+ name
687
+ x
688
+ 6
689
+ string
690
+ x
691
+ 3
692
+ age
693
+ x
694
+ 7
695
+ integer
696
+ p
697
+ 7
698
+ I
699
+ 0
700
+ I
701
+ 1a
702
+ I
703
+ 4
704
+ I
705
+ 1b
706
+ I
707
+ c
708
+ I
709
+ 1c
710
+ I
711
+ 14
712
+ x
713
+ 45
714
+ /Users/jcoglan/projects/primer/spec/schema.rb
715
+ p
716
+ 1
717
+ x
718
+ 1
719
+ t
720
+ p
721
+ 15
722
+ I
723
+ 0
724
+ I
725
+ 1
726
+ I
727
+ 4
728
+ I
729
+ 2
730
+ I
731
+ 1d
732
+ I
733
+ 7
734
+ I
735
+ 36
736
+ I
737
+ a
738
+ I
739
+ 4f
740
+ I
741
+ 10
742
+ I
743
+ 68
744
+ I
745
+ 15
746
+ I
747
+ 81
748
+ I
749
+ 1a
750
+ I
751
+ 9a
752
+ x
753
+ 45
754
+ /Users/jcoglan/projects/primer/spec/schema.rb
755
+ p
756
+ 1
757
+ x
758
+ 7
759
+ version
760
+ x
761
+ 6
762
+ define
763
+ p
764
+ 3
765
+ I
766
+ 0
767
+ I
768
+ 1
769
+ I
770
+ d
771
+ x
772
+ 45
773
+ /Users/jcoglan/projects/primer/spec/schema.rb
774
+ p
775
+ 0
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,9 @@
1
1
  dir = File.expand_path(File.dirname(__FILE__))
2
2
  $:.unshift(dir)
3
3
 
4
+ require 'rubygems'
5
+ require 'bundler/setup'
6
+
4
7
  require dir + '/../lib/primer'
5
8
  require 'tilt'
6
9
  require 'erb'