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,940 @@
1
+ !RBIX
2
+ 10310238139619683799
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 52
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 5
23
+ 7
24
+ 2
25
+ 64
26
+ 56
27
+ 3
28
+ 47
29
+ 50
30
+ 4
31
+ 1
32
+ 15
33
+ 5
34
+ 45
35
+ 5
36
+ 6
37
+ 43
38
+ 7
39
+ 43
40
+ 8
41
+ 56
42
+ 9
43
+ 47
44
+ 50
45
+ 10
46
+ 1
47
+ 15
48
+ 5
49
+ 45
50
+ 5
51
+ 11
52
+ 43
53
+ 7
54
+ 43
55
+ 12
56
+ 56
57
+ 13
58
+ 47
59
+ 50
60
+ 10
61
+ 1
62
+ 15
63
+ 2
64
+ 11
65
+ I
66
+ 3
67
+ I
68
+ 0
69
+ I
70
+ 0
71
+ I
72
+ 0
73
+ n
74
+ p
75
+ 14
76
+ s
77
+ 11
78
+ spec_helper
79
+ x
80
+ 7
81
+ require
82
+ s
83
+ 16
84
+ primer event bus
85
+ M
86
+ 1
87
+ p
88
+ 2
89
+ x
90
+ 9
91
+ for_block
92
+ t
93
+ n
94
+ x
95
+ 9
96
+ __block__
97
+ i
98
+ 30
99
+ 5
100
+ 56
101
+ 0
102
+ 47
103
+ 50
104
+ 1
105
+ 0
106
+ 15
107
+ 5
108
+ 7
109
+ 2
110
+ 64
111
+ 56
112
+ 3
113
+ 47
114
+ 50
115
+ 4
116
+ 1
117
+ 15
118
+ 5
119
+ 7
120
+ 5
121
+ 64
122
+ 56
123
+ 6
124
+ 47
125
+ 50
126
+ 4
127
+ 1
128
+ 11
129
+ I
130
+ 4
131
+ I
132
+ 0
133
+ I
134
+ 0
135
+ I
136
+ 0
137
+ I
138
+ -2
139
+ p
140
+ 7
141
+ M
142
+ 1
143
+ p
144
+ 2
145
+ x
146
+ 9
147
+ for_block
148
+ t
149
+ n
150
+ x
151
+ 9
152
+ __block__
153
+ i
154
+ 15
155
+ 1
156
+ 38
157
+ 0
158
+ 15
159
+ 5
160
+ 48
161
+ 1
162
+ 7
163
+ 2
164
+ 56
165
+ 3
166
+ 50
167
+ 4
168
+ 1
169
+ 11
170
+ I
171
+ 4
172
+ I
173
+ 0
174
+ I
175
+ 0
176
+ I
177
+ 0
178
+ I
179
+ -2
180
+ p
181
+ 5
182
+ x
183
+ 8
184
+ @message
185
+ x
186
+ 3
187
+ bus
188
+ x
189
+ 7
190
+ changes
191
+ M
192
+ 1
193
+ p
194
+ 2
195
+ x
196
+ 9
197
+ for_block
198
+ t
199
+ n
200
+ x
201
+ 9
202
+ __block__
203
+ i
204
+ 9
205
+ 57
206
+ 19
207
+ 0
208
+ 15
209
+ 20
210
+ 0
211
+ 38
212
+ 0
213
+ 11
214
+ I
215
+ 3
216
+ I
217
+ 1
218
+ I
219
+ 1
220
+ I
221
+ 1
222
+ n
223
+ p
224
+ 1
225
+ x
226
+ 8
227
+ @message
228
+ p
229
+ 3
230
+ I
231
+ 0
232
+ I
233
+ 6
234
+ I
235
+ 9
236
+ x
237
+ 54
238
+ /Users/jcoglan/projects/primer/spec/primer/bus_spec.rb
239
+ p
240
+ 1
241
+ x
242
+ 7
243
+ message
244
+ x
245
+ 9
246
+ subscribe
247
+ p
248
+ 5
249
+ I
250
+ 0
251
+ I
252
+ 5
253
+ I
254
+ 4
255
+ I
256
+ 6
257
+ I
258
+ f
259
+ x
260
+ 54
261
+ /Users/jcoglan/projects/primer/spec/primer/bus_spec.rb
262
+ p
263
+ 0
264
+ x
265
+ 6
266
+ before
267
+ s
268
+ 27
269
+ transmits messages verbatim
270
+ M
271
+ 1
272
+ p
273
+ 2
274
+ x
275
+ 9
276
+ for_block
277
+ t
278
+ n
279
+ x
280
+ 9
281
+ __block__
282
+ i
283
+ 47
284
+ 5
285
+ 48
286
+ 0
287
+ 7
288
+ 1
289
+ 7
290
+ 2
291
+ 64
292
+ 7
293
+ 3
294
+ 64
295
+ 7
296
+ 4
297
+ 64
298
+ 35
299
+ 3
300
+ 49
301
+ 5
302
+ 2
303
+ 15
304
+ 5
305
+ 7
306
+ 6
307
+ 47
308
+ 49
309
+ 7
310
+ 1
311
+ 15
312
+ 39
313
+ 8
314
+ 49
315
+ 9
316
+ 0
317
+ 7
318
+ 2
319
+ 64
320
+ 7
321
+ 3
322
+ 64
323
+ 7
324
+ 4
325
+ 64
326
+ 35
327
+ 3
328
+ 83
329
+ 10
330
+ 11
331
+ I
332
+ 6
333
+ I
334
+ 0
335
+ I
336
+ 0
337
+ I
338
+ 0
339
+ I
340
+ -2
341
+ p
342
+ 11
343
+ x
344
+ 3
345
+ bus
346
+ x
347
+ 7
348
+ changes
349
+ s
350
+ 6
351
+ series
352
+ s
353
+ 2
354
+ of
355
+ s
356
+ 6
357
+ params
358
+ x
359
+ 7
360
+ publish
361
+ d
362
+ +0.500000000000000000000000000000000000000000000000000000 1
363
+ x
364
+ 5
365
+ sleep
366
+ x
367
+ 8
368
+ @message
369
+ x
370
+ 6
371
+ should
372
+ x
373
+ 2
374
+ ==
375
+ p
376
+ 7
377
+ I
378
+ 0
379
+ I
380
+ a
381
+ I
382
+ 14
383
+ I
384
+ b
385
+ I
386
+ 1c
387
+ I
388
+ c
389
+ I
390
+ 2f
391
+ x
392
+ 54
393
+ /Users/jcoglan/projects/primer/spec/primer/bus_spec.rb
394
+ p
395
+ 0
396
+ x
397
+ 2
398
+ it
399
+ s
400
+ 36
401
+ routes messages to the right channel
402
+ M
403
+ 1
404
+ p
405
+ 2
406
+ x
407
+ 9
408
+ for_block
409
+ t
410
+ n
411
+ x
412
+ 9
413
+ __block__
414
+ i
415
+ 29
416
+ 5
417
+ 48
418
+ 0
419
+ 7
420
+ 1
421
+ 7
422
+ 2
423
+ 64
424
+ 49
425
+ 3
426
+ 2
427
+ 15
428
+ 5
429
+ 7
430
+ 4
431
+ 47
432
+ 49
433
+ 5
434
+ 1
435
+ 15
436
+ 39
437
+ 6
438
+ 5
439
+ 48
440
+ 7
441
+ 49
442
+ 8
443
+ 1
444
+ 11
445
+ I
446
+ 4
447
+ I
448
+ 0
449
+ I
450
+ 0
451
+ I
452
+ 0
453
+ I
454
+ -2
455
+ p
456
+ 9
457
+ x
458
+ 3
459
+ bus
460
+ x
461
+ 5
462
+ other
463
+ s
464
+ 9
465
+ something
466
+ x
467
+ 7
468
+ publish
469
+ d
470
+ +0.500000000000000000000000000000000000000000000000000000 1
471
+ x
472
+ 5
473
+ sleep
474
+ x
475
+ 8
476
+ @message
477
+ x
478
+ 6
479
+ be_nil
480
+ x
481
+ 6
482
+ should
483
+ p
484
+ 7
485
+ I
486
+ 0
487
+ I
488
+ 10
489
+ I
490
+ c
491
+ I
492
+ 11
493
+ I
494
+ 14
495
+ I
496
+ 12
497
+ I
498
+ 1d
499
+ x
500
+ 54
501
+ /Users/jcoglan/projects/primer/spec/primer/bus_spec.rb
502
+ p
503
+ 0
504
+ p
505
+ 7
506
+ I
507
+ 0
508
+ I
509
+ 4
510
+ I
511
+ 8
512
+ I
513
+ 9
514
+ I
515
+ 13
516
+ I
517
+ f
518
+ I
519
+ 1e
520
+ x
521
+ 54
522
+ /Users/jcoglan/projects/primer/spec/primer/bus_spec.rb
523
+ p
524
+ 0
525
+ x
526
+ 19
527
+ shared_examples_for
528
+ x
529
+ 6
530
+ Primer
531
+ n
532
+ x
533
+ 3
534
+ Bus
535
+ x
536
+ 6
537
+ Memory
538
+ M
539
+ 1
540
+ p
541
+ 2
542
+ x
543
+ 9
544
+ for_block
545
+ t
546
+ n
547
+ x
548
+ 9
549
+ __block__
550
+ i
551
+ 19
552
+ 5
553
+ 7
554
+ 0
555
+ 56
556
+ 1
557
+ 47
558
+ 50
559
+ 2
560
+ 1
561
+ 15
562
+ 5
563
+ 7
564
+ 3
565
+ 64
566
+ 47
567
+ 49
568
+ 4
569
+ 1
570
+ 11
571
+ I
572
+ 4
573
+ I
574
+ 0
575
+ I
576
+ 0
577
+ I
578
+ 0
579
+ I
580
+ -2
581
+ p
582
+ 5
583
+ x
584
+ 3
585
+ bus
586
+ M
587
+ 1
588
+ p
589
+ 2
590
+ x
591
+ 9
592
+ for_block
593
+ t
594
+ n
595
+ x
596
+ 9
597
+ __block__
598
+ i
599
+ 29
600
+ 45
601
+ 0
602
+ 1
603
+ 43
604
+ 2
605
+ 43
606
+ 3
607
+ 13
608
+ 71
609
+ 4
610
+ 47
611
+ 9
612
+ 25
613
+ 47
614
+ 49
615
+ 5
616
+ 0
617
+ 13
618
+ 47
619
+ 49
620
+ 6
621
+ 0
622
+ 15
623
+ 8
624
+ 28
625
+ 49
626
+ 4
627
+ 0
628
+ 11
629
+ I
630
+ 3
631
+ I
632
+ 0
633
+ I
634
+ 0
635
+ I
636
+ 0
637
+ I
638
+ -2
639
+ p
640
+ 7
641
+ x
642
+ 6
643
+ Primer
644
+ n
645
+ x
646
+ 3
647
+ Bus
648
+ x
649
+ 6
650
+ Memory
651
+ x
652
+ 3
653
+ new
654
+ x
655
+ 8
656
+ allocate
657
+ x
658
+ 10
659
+ initialize
660
+ p
661
+ 3
662
+ I
663
+ 0
664
+ I
665
+ 17
666
+ I
667
+ 1d
668
+ x
669
+ 54
670
+ /Users/jcoglan/projects/primer/spec/primer/bus_spec.rb
671
+ p
672
+ 0
673
+ x
674
+ 3
675
+ let
676
+ s
677
+ 16
678
+ primer event bus
679
+ x
680
+ 21
681
+ it_should_behave_like
682
+ p
683
+ 5
684
+ I
685
+ 0
686
+ I
687
+ 17
688
+ I
689
+ a
690
+ I
691
+ 18
692
+ I
693
+ 13
694
+ x
695
+ 54
696
+ /Users/jcoglan/projects/primer/spec/primer/bus_spec.rb
697
+ p
698
+ 0
699
+ x
700
+ 8
701
+ describe
702
+ n
703
+ x
704
+ 4
705
+ AMQP
706
+ M
707
+ 1
708
+ p
709
+ 2
710
+ x
711
+ 9
712
+ for_block
713
+ t
714
+ n
715
+ x
716
+ 9
717
+ __block__
718
+ i
719
+ 19
720
+ 5
721
+ 7
722
+ 0
723
+ 56
724
+ 1
725
+ 47
726
+ 50
727
+ 2
728
+ 1
729
+ 15
730
+ 5
731
+ 7
732
+ 3
733
+ 64
734
+ 47
735
+ 49
736
+ 4
737
+ 1
738
+ 11
739
+ I
740
+ 4
741
+ I
742
+ 0
743
+ I
744
+ 0
745
+ I
746
+ 0
747
+ I
748
+ -2
749
+ p
750
+ 5
751
+ x
752
+ 3
753
+ bus
754
+ M
755
+ 1
756
+ p
757
+ 2
758
+ x
759
+ 9
760
+ for_block
761
+ t
762
+ n
763
+ x
764
+ 9
765
+ __block__
766
+ i
767
+ 63
768
+ 45
769
+ 0
770
+ 1
771
+ 43
772
+ 2
773
+ 43
774
+ 3
775
+ 13
776
+ 71
777
+ 4
778
+ 47
779
+ 9
780
+ 42
781
+ 47
782
+ 49
783
+ 5
784
+ 0
785
+ 13
786
+ 44
787
+ 43
788
+ 6
789
+ 79
790
+ 49
791
+ 7
792
+ 1
793
+ 13
794
+ 7
795
+ 8
796
+ 7
797
+ 9
798
+ 64
799
+ 49
800
+ 10
801
+ 2
802
+ 15
803
+ 47
804
+ 49
805
+ 11
806
+ 1
807
+ 15
808
+ 8
809
+ 62
810
+ 44
811
+ 43
812
+ 6
813
+ 79
814
+ 49
815
+ 7
816
+ 1
817
+ 13
818
+ 7
819
+ 8
820
+ 7
821
+ 9
822
+ 64
823
+ 49
824
+ 10
825
+ 2
826
+ 15
827
+ 49
828
+ 4
829
+ 1
830
+ 11
831
+ I
832
+ 7
833
+ I
834
+ 0
835
+ I
836
+ 0
837
+ I
838
+ 0
839
+ I
840
+ -2
841
+ p
842
+ 12
843
+ x
844
+ 6
845
+ Primer
846
+ n
847
+ x
848
+ 3
849
+ Bus
850
+ x
851
+ 4
852
+ AMQP
853
+ x
854
+ 3
855
+ new
856
+ x
857
+ 8
858
+ allocate
859
+ x
860
+ 4
861
+ Hash
862
+ x
863
+ 16
864
+ new_from_literal
865
+ x
866
+ 5
867
+ queue
868
+ s
869
+ 12
870
+ data_changes
871
+ x
872
+ 3
873
+ []=
874
+ x
875
+ 10
876
+ initialize
877
+ p
878
+ 3
879
+ I
880
+ 0
881
+ I
882
+ 1c
883
+ I
884
+ 3f
885
+ x
886
+ 54
887
+ /Users/jcoglan/projects/primer/spec/primer/bus_spec.rb
888
+ p
889
+ 0
890
+ x
891
+ 3
892
+ let
893
+ s
894
+ 16
895
+ primer event bus
896
+ x
897
+ 21
898
+ it_should_behave_like
899
+ p
900
+ 5
901
+ I
902
+ 0
903
+ I
904
+ 1c
905
+ I
906
+ a
907
+ I
908
+ 1d
909
+ I
910
+ 13
911
+ x
912
+ 54
913
+ /Users/jcoglan/projects/primer/spec/primer/bus_spec.rb
914
+ p
915
+ 0
916
+ p
917
+ 9
918
+ I
919
+ 0
920
+ I
921
+ 1
922
+ I
923
+ 9
924
+ I
925
+ 3
926
+ I
927
+ 14
928
+ I
929
+ 16
930
+ I
931
+ 23
932
+ I
933
+ 1b
934
+ I
935
+ 34
936
+ x
937
+ 54
938
+ /Users/jcoglan/projects/primer/spec/primer/bus_spec.rb
939
+ p
940
+ 0