gallifrey 0.1.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +3 -0
- data/LICENSE +20 -0
- data/README.rdoc +20 -0
- data/Rakefile +5 -0
- data/lib/gallifrey/aggregate.rb +62 -0
- data/lib/gallifrey/aggregate_not_found.rb +6 -0
- data/lib/gallifrey/cipher/base64.rb +26 -0
- data/lib/gallifrey/cipher/null.rb +19 -0
- data/lib/gallifrey/cipher/sha256.rb +36 -0
- data/lib/gallifrey/conflict.rb +6 -0
- data/lib/gallifrey/entity.rb +22 -0
- data/lib/gallifrey/entity_not_found.rb +6 -0
- data/lib/gallifrey/event.rb +42 -0
- data/lib/gallifrey/event_application.rb +22 -0
- data/lib/gallifrey/event_processing.rb +36 -0
- data/lib/gallifrey/event_store/auditing.rb +26 -0
- data/lib/gallifrey/event_store/null.rb +20 -0
- data/lib/gallifrey/event_store/publishing.rb +25 -0
- data/lib/gallifrey/event_store/sequel.rb +94 -0
- data/lib/gallifrey/guid.rb +25 -0
- data/lib/gallifrey/repository/default.rb +12 -0
- data/lib/gallifrey/repository.rb +50 -0
- data/lib/gallifrey/version.rb +5 -0
- data/lib/gallifrey/view/composite.rb +23 -0
- data/lib/gallifrey/view/null.rb +17 -0
- data/spec/gallifrey/aggregate/apply_event_spec.rb +35 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/aggregate/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/aggregate/coverage/covered_percent +1 -0
- data/spec/gallifrey/aggregate/coverage/index.html +71 -0
- data/spec/gallifrey/aggregate/coverage/resultset.yml +201 -0
- data/spec/gallifrey/aggregate/event_application_spec.rb +9 -0
- data/spec/gallifrey/aggregate/new_spec.rb +31 -0
- data/spec/gallifrey/aggregate/record_event_spec.rb +32 -0
- data/spec/gallifrey/aggregate/type_spec.rb +12 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/cipher/base64/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/cipher/base64/coverage/covered_percent +1 -0
- data/spec/gallifrey/cipher/base64/coverage/index.html +71 -0
- data/spec/gallifrey/cipher/base64/coverage/resultset.yml +17 -0
- data/spec/gallifrey/cipher/base64/decrypt_spec.rb +14 -0
- data/spec/gallifrey/cipher/base64/encrypt_spec.rb +14 -0
- data/spec/gallifrey/cipher/null/decrypt_spec.rb +14 -0
- data/spec/gallifrey/cipher/null/encrypt_spec.rb +14 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/cipher/sha256/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/cipher/sha256/coverage/covered_percent +1 -0
- data/spec/gallifrey/cipher/sha256/coverage/index.html +71 -0
- data/spec/gallifrey/cipher/sha256/coverage/resultset.yml +21 -0
- data/spec/gallifrey/cipher/sha256/decrypt_spec.rb +16 -0
- data/spec/gallifrey/cipher/sha256/encrypt_spec.rb +16 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/entity/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/entity/coverage/covered_percent +1 -0
- data/spec/gallifrey/entity/coverage/index.html +71 -0
- data/spec/gallifrey/entity/coverage/resultset.yml +41 -0
- data/spec/gallifrey/entity/event_application_spec.rb +11 -0
- data/spec/gallifrey/entity/record_event_spec.rb +17 -0
- data/spec/gallifrey/event/[]_spec.rb +28 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/event/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/event/coverage/covered_percent +1 -0
- data/spec/gallifrey/event/coverage/index.html +71 -0
- data/spec/gallifrey/event/coverage/resultset.yml +17 -0
- data/spec/gallifrey/event/new_spec.rb +20 -0
- data/spec/gallifrey/event_application/apply_event_spec.rb +37 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/event_application/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/event_application/coverage/covered_percent +1 -0
- data/spec/gallifrey/event_application/coverage/index.html +71 -0
- data/spec/gallifrey/event_application/coverage/resultset.yml +17 -0
- data/spec/gallifrey/event_application/unapplied_event_spec.rb +19 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/event_processing/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/event_processing/coverage/covered_percent +1 -0
- data/spec/gallifrey/event_processing/coverage/index.html +71 -0
- data/spec/gallifrey/event_processing/coverage/resultset.yml +69 -0
- data/spec/gallifrey/event_processing/process_event_spec.rb +29 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/event_store/auditing/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/event_store/auditing/coverage/covered_percent +1 -0
- data/spec/gallifrey/event_store/auditing/coverage/index.html +71 -0
- data/spec/gallifrey/event_store/auditing/coverage/resultset.yml +33 -0
- data/spec/gallifrey/event_store/auditing/load_events_spec.rb +23 -0
- data/spec/gallifrey/event_store/auditing/save_events_spec.rb +30 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/event_store/null/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/event_store/null/coverage/covered_percent +1 -0
- data/spec/gallifrey/event_store/null/coverage/index.html +71 -0
- data/spec/gallifrey/event_store/null/coverage/resultset.yml +33 -0
- data/spec/gallifrey/event_store/null/load_events_spec.rb +16 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/event_store/publishing/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/event_store/publishing/coverage/covered_percent +1 -0
- data/spec/gallifrey/event_store/publishing/coverage/index.html +71 -0
- data/spec/gallifrey/event_store/publishing/coverage/resultset.yml +69 -0
- data/spec/gallifrey/event_store/publishing/load_events_spec.rb +23 -0
- data/spec/gallifrey/event_store/publishing/save_events_spec.rb +29 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/event_store/sequel/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/event_store/sequel/coverage/covered_percent +1 -0
- data/spec/gallifrey/event_store/sequel/coverage/index.html +71 -0
- data/spec/gallifrey/event_store/sequel/coverage/resultset.yml +137 -0
- data/spec/gallifrey/event_store/sequel/load_events_spec.rb +101 -0
- data/spec/gallifrey/event_store/sequel/save_events_spec.rb +133 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/guid/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/guid/coverage/covered_percent +1 -0
- data/spec/gallifrey/guid/coverage/index.html +71 -0
- data/spec/gallifrey/guid/coverage/resultset.yml +33 -0
- data/spec/gallifrey/guid/create_spec.rb +19 -0
- data/spec/gallifrey/guid/parse_spec.rb +18 -0
- data/spec/gallifrey/guid/valid?_spec.rb +18 -0
- data/spec/gallifrey/repository/add_spec.rb +18 -0
- data/spec/gallifrey/repository/commit_spec.rb +47 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/repository/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/repository/coverage/covered_percent +1 -0
- data/spec/gallifrey/repository/coverage/index.html +71 -0
- data/spec/gallifrey/repository/coverage/resultset.yml +149 -0
- data/spec/gallifrey/repository/get_spec.rb +52 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/app.js +66 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/blank.gif +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_close.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_loading.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_nav_left.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_nav_right.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_shadow_e.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_shadow_n.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_shadow_s.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_shadow_se.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_shadow_w.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_title_left.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_title_main.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_title_over.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancy_title_right.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancybox-x.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancybox-y.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/fancybox.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/favicon.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/jquery-1.4.2.min.js +155 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/jquery.dataTables.min.js +152 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/jquery.timeago.js +141 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/jquery.url.js +174 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/loading.gif +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/magnify.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/gallifrey/view/composite/coverage/assets/0.4.4/stylesheet.css +341 -0
- data/spec/gallifrey/view/composite/coverage/covered_percent +1 -0
- data/spec/gallifrey/view/composite/coverage/index.html +71 -0
- data/spec/gallifrey/view/composite/coverage/resultset.yml +21 -0
- data/spec/gallifrey/view/composite/delete_spec.rb +19 -0
- data/spec/gallifrey/view/composite/process_event_spec.rb +20 -0
- data/spec/spec_helper.rb +20 -0
- data/tasks/spec.rb +4 -0
- metadata +863 -0
data/History.rdoc
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2010 Simon Harris
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
= Gallifrey - Description
|
2
|
+
|
3
|
+
GitHub: http://github.com/harukizaemon/gallifrey
|
4
|
+
Gemcutter: http://gemcutter/gems/gallifrey
|
5
|
+
email: haruki.zaemon@gmail.com
|
6
|
+
IRC: ##haruki_zaemon on freenode
|
7
|
+
|
8
|
+
== Introduction
|
9
|
+
|
10
|
+
== Installation
|
11
|
+
|
12
|
+
Gallifrey is distributed as a gem via gemcutter (http://gemcutter.org/gems/gallifrey) or as source via GitHub (http://github.com/harukizaemon/gallifrey).
|
13
|
+
|
14
|
+
Installation via the gem is easy:
|
15
|
+
|
16
|
+
> gem install gallifrey
|
17
|
+
|
18
|
+
Once installed, all that remains is to make the classes available in your code:
|
19
|
+
|
20
|
+
require 'gallifrey'
|
data/Rakefile
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'gallifrey/guid'
|
2
|
+
require 'gallifrey/event_application'
|
3
|
+
|
4
|
+
module Gallifrey
|
5
|
+
|
6
|
+
class Aggregate
|
7
|
+
|
8
|
+
include EventApplication
|
9
|
+
|
10
|
+
attr_reader :id, :version, :unsaved_events
|
11
|
+
|
12
|
+
def initialize(id = GUID.create)
|
13
|
+
@id = id
|
14
|
+
@version = 0
|
15
|
+
@unsaved_events = []
|
16
|
+
end
|
17
|
+
|
18
|
+
def type
|
19
|
+
self.class.name.gsub(/.*::/, "")
|
20
|
+
end
|
21
|
+
|
22
|
+
def load_from_history(events)
|
23
|
+
events.each { |event| apply_event(event) }
|
24
|
+
end
|
25
|
+
|
26
|
+
def record_event(type, details = {})
|
27
|
+
@unsaved_events.push(Event.new(self.type, id, @version + 1, type, details))
|
28
|
+
apply_event(@unsaved_events.last)
|
29
|
+
end
|
30
|
+
|
31
|
+
def apply_event(event)
|
32
|
+
raise(ArgumentError, "Event out of sequence") unless event.aggregate_version > @version
|
33
|
+
@version = event.aggregate_version
|
34
|
+
super
|
35
|
+
end
|
36
|
+
|
37
|
+
def modified?
|
38
|
+
!@unsaved_events.empty?
|
39
|
+
end
|
40
|
+
|
41
|
+
def mark_as_saved
|
42
|
+
@unsaved_events = []
|
43
|
+
end
|
44
|
+
|
45
|
+
# def load_from_snapshot(snapshot)
|
46
|
+
# @version = snapshot.version
|
47
|
+
# load_from_memento(snapshot.memento)
|
48
|
+
# end
|
49
|
+
#
|
50
|
+
# def snapshot
|
51
|
+
# Snapshot.new(@version, memento)
|
52
|
+
# end
|
53
|
+
|
54
|
+
protected
|
55
|
+
|
56
|
+
def next_entity_id
|
57
|
+
@version + 1
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'base64'
|
2
|
+
require 'gallifrey/cipher/null'
|
3
|
+
|
4
|
+
module Gallifrey
|
5
|
+
|
6
|
+
module Cipher
|
7
|
+
|
8
|
+
class Base64
|
9
|
+
|
10
|
+
def initialize(cipher = Null)
|
11
|
+
@cipher = cipher
|
12
|
+
end
|
13
|
+
|
14
|
+
def encrypt(data)
|
15
|
+
::Base64.encode64(@cipher.encrypt(data))
|
16
|
+
end
|
17
|
+
|
18
|
+
def decrypt(data)
|
19
|
+
@cipher.decrypt(::Base64.decode64(data))
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'openssl'
|
2
|
+
require 'digest/sha2'
|
3
|
+
|
4
|
+
module Gallifrey
|
5
|
+
|
6
|
+
module Cipher
|
7
|
+
|
8
|
+
class SHA256
|
9
|
+
|
10
|
+
def initialize(key, cipher_name = "AES-256-CBC")
|
11
|
+
@key = Digest::SHA256.digest(key)
|
12
|
+
@cipher = OpenSSL::Cipher::Cipher.new(cipher_name)
|
13
|
+
end
|
14
|
+
|
15
|
+
def encrypt(data)
|
16
|
+
cipher(:encrypt, data)
|
17
|
+
end
|
18
|
+
|
19
|
+
def decrypt(data)
|
20
|
+
cipher(:decrypt, data)
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def cipher(mode, data)
|
26
|
+
@cipher.reset
|
27
|
+
@cipher.send(mode)
|
28
|
+
@cipher.key = @key
|
29
|
+
@cipher.update(data) << @cipher.final
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'gallifrey/event_application'
|
2
|
+
|
3
|
+
module Gallifrey
|
4
|
+
|
5
|
+
class Entity
|
6
|
+
|
7
|
+
include EventApplication
|
8
|
+
|
9
|
+
attr_reader :id
|
10
|
+
|
11
|
+
def initialize(aggregate, id)
|
12
|
+
@aggregate = aggregate
|
13
|
+
@id = id
|
14
|
+
end
|
15
|
+
|
16
|
+
def record_event(type, data = {})
|
17
|
+
@aggregate.record_event(type, data.merge(:id => id))
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Gallifrey
|
2
|
+
|
3
|
+
class Event
|
4
|
+
|
5
|
+
attr_reader :aggregate_type, :aggregate_id, :aggregate_version, :type, :details
|
6
|
+
attr_accessor :created_at, :created_by
|
7
|
+
|
8
|
+
def initialize(aggregate_type, aggregate_id, aggregate_version, type, details = {}, created_at = nil, created_by = nil)
|
9
|
+
@aggregate_type = aggregate_type
|
10
|
+
@aggregate_id = aggregate_id
|
11
|
+
@aggregate_version = aggregate_version
|
12
|
+
@type = type
|
13
|
+
@details = details
|
14
|
+
@created_at = created_at
|
15
|
+
@created_by = created_by
|
16
|
+
end
|
17
|
+
|
18
|
+
def [](key)
|
19
|
+
raise(ArgumentError, "No such key #{key.inspect}") unless @details.has_key?(key)
|
20
|
+
@details[key]
|
21
|
+
end
|
22
|
+
|
23
|
+
def audit(created_at, created_by)
|
24
|
+
@created_at = created_at
|
25
|
+
@created_by = created_by
|
26
|
+
end
|
27
|
+
|
28
|
+
def eql?(other)
|
29
|
+
self.class.equal?(other.class) &&
|
30
|
+
aggregate_type == other.aggregate_type &&
|
31
|
+
aggregate_id == other.aggregate_id &&
|
32
|
+
aggregate_version == other.aggregate_version &&
|
33
|
+
type == other.type &&
|
34
|
+
details == other.details &&
|
35
|
+
created_at == other.created_at &&
|
36
|
+
created_by == other.created_by
|
37
|
+
end
|
38
|
+
alias_method :==, :eql?
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Gallifrey
|
2
|
+
|
3
|
+
module EventApplication
|
4
|
+
|
5
|
+
def apply_event(event)
|
6
|
+
method_name = "apply_#{event.type}"
|
7
|
+
if respond_to?(method_name)
|
8
|
+
send(method_name, event)
|
9
|
+
else
|
10
|
+
unapplied_event(event)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
protected
|
15
|
+
|
16
|
+
def unapplied_event(event)
|
17
|
+
raise(ArgumentError, "Unapplied event: #{event.type}")
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'set'
|
2
|
+
|
3
|
+
module Gallifrey
|
4
|
+
|
5
|
+
module EventProcessing
|
6
|
+
|
7
|
+
def process_event(event)
|
8
|
+
event_type = :"#{underscore(event.aggregate_type).downcase}_#{event.type}"
|
9
|
+
event_processors[event_type].each do |block|
|
10
|
+
block.call(event)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
protected
|
15
|
+
|
16
|
+
def process(*event_types, &block)
|
17
|
+
event_types.each do |event_type|
|
18
|
+
event_processors[event_type].add(block)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def event_processors
|
25
|
+
@event_processors ||= Hash.new { |event_processors, event_type| event_processors[event_type] = Set.new }
|
26
|
+
end
|
27
|
+
|
28
|
+
def underscore(aggregate_type)
|
29
|
+
aggregate_type
|
30
|
+
.gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
|
31
|
+
.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Gallifrey
|
2
|
+
|
3
|
+
module EventStore
|
4
|
+
|
5
|
+
class Auditing
|
6
|
+
|
7
|
+
def initialize(event_store, created_by)
|
8
|
+
@event_store = event_store
|
9
|
+
@created_by = created_by
|
10
|
+
end
|
11
|
+
|
12
|
+
def load_events(aggregate_type, aggregate_id, since_version = 0)
|
13
|
+
@event_store.load_events(aggregate_type, aggregate_id, since_version)
|
14
|
+
end
|
15
|
+
|
16
|
+
def save_events(aggregate_type, aggregate_id, events)
|
17
|
+
timestamp = Time.now
|
18
|
+
events.each { |event| event.audit(timestamp, @created_by) }
|
19
|
+
@event_store.save_events(aggregate_type, aggregate_id, events)
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'gallifrey/aggregate_not_found'
|
2
|
+
|
3
|
+
module Gallifrey
|
4
|
+
|
5
|
+
module EventStore
|
6
|
+
|
7
|
+
module Null
|
8
|
+
|
9
|
+
def self.load_events(aggregate_type, aggregate_id, since_version = 0)
|
10
|
+
raise(AggregateNotFound)
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.save_events(aggregate_type, aggregate_id, events)
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Gallifrey
|
2
|
+
|
3
|
+
module EventStore
|
4
|
+
|
5
|
+
class Publishing
|
6
|
+
|
7
|
+
def initialize(event_store, view)
|
8
|
+
@event_store = event_store
|
9
|
+
@view = view
|
10
|
+
end
|
11
|
+
|
12
|
+
def load_events(aggregate_type, aggregate_id, since_version = 0)
|
13
|
+
@event_store.load_events(aggregate_type, aggregate_id, since_version)
|
14
|
+
end
|
15
|
+
|
16
|
+
def save_events(aggregate_type, aggregate_id, events)
|
17
|
+
@event_store.save_events(aggregate_type, aggregate_id, events)
|
18
|
+
@view.process_events(events)
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'sequel'
|
2
|
+
require 'json'
|
3
|
+
require 'gallifrey/event'
|
4
|
+
require 'gallifrey/aggregate_not_found'
|
5
|
+
require 'gallifrey/cipher/null'
|
6
|
+
|
7
|
+
module Gallifrey
|
8
|
+
|
9
|
+
module EventStore
|
10
|
+
|
11
|
+
class Sequel
|
12
|
+
|
13
|
+
def self.migrate(database)
|
14
|
+
database.create_table(:aggregates) do
|
15
|
+
uuid :id, :null => false
|
16
|
+
text :type, :null => false
|
17
|
+
integer :version, :null => false
|
18
|
+
timestamp :updated_at, :null => false
|
19
|
+
primary_key [:id]
|
20
|
+
end
|
21
|
+
|
22
|
+
database.create_table(:events) do
|
23
|
+
primary_key :sequence, :null => false
|
24
|
+
uuid :aggregate_id, :null => false
|
25
|
+
integer :aggregate_version, :null => false
|
26
|
+
text :type, :null => false
|
27
|
+
text :details, :null => false
|
28
|
+
timestamp :created_at, :null => true
|
29
|
+
uuid :created_by, :null => true
|
30
|
+
foreign_key [:aggregate_id], :aggregates, :on_delete => :cascade
|
31
|
+
index [:aggregate_id, :aggregate_version], :unique => true
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def initialize(database, cipher = Cipher::Null)
|
36
|
+
@aggregates_table = database[:aggregates]
|
37
|
+
@events_table = database[:events]
|
38
|
+
@cipher = cipher
|
39
|
+
end
|
40
|
+
|
41
|
+
def load_events(aggregate_type, aggregate_id, since_version = 0)
|
42
|
+
raise(AggregateNotFound) if @aggregates_table.filter(:id => aggregate_id, :type => aggregate_type).empty?
|
43
|
+
|
44
|
+
@events_table
|
45
|
+
.select(:aggregate_version, :type, :details, :created_at, :created_by)
|
46
|
+
.filter(:aggregate_id => aggregate_id)
|
47
|
+
.filter{aggregate_version > since_version}
|
48
|
+
.order(:aggregate_version)
|
49
|
+
.map do |record|
|
50
|
+
Event.new(
|
51
|
+
aggregate_type,
|
52
|
+
aggregate_id,
|
53
|
+
record[:aggregate_version],
|
54
|
+
record[:type].to_sym,
|
55
|
+
JSON.parse(@cipher.decrypt(record[:details]), :symbolize_names => true),
|
56
|
+
record[:created_at],
|
57
|
+
record[:created_by]
|
58
|
+
)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def save_events(aggregate_type, aggregate_id, events)
|
63
|
+
values = { :version => events.last.aggregate_version, :updated_at => events.last.created_at }
|
64
|
+
|
65
|
+
update_count = @aggregates_table
|
66
|
+
.filter(:id => aggregate_id, :type => aggregate_type, :version => events.first.aggregate_version - 1)
|
67
|
+
.update(values)
|
68
|
+
|
69
|
+
if update_count == 0
|
70
|
+
if aggregate_record = @aggregates_table.first(:id => aggregate_id)
|
71
|
+
raise(TypeError) unless aggregate_record[:type] == aggregate_type
|
72
|
+
raise(Conflict)
|
73
|
+
end
|
74
|
+
|
75
|
+
@aggregates_table.insert(values.merge(:id => aggregate_id, :type => aggregate_type))
|
76
|
+
end
|
77
|
+
|
78
|
+
events.each do |event|
|
79
|
+
@events_table.insert(
|
80
|
+
:aggregate_id => event.aggregate_id,
|
81
|
+
:aggregate_version => event.aggregate_version,
|
82
|
+
:type => event.type.to_s,
|
83
|
+
:details => @cipher.encrypt(JSON.generate(event.details)),
|
84
|
+
:created_at => event.created_at,
|
85
|
+
:created_by => event.created_by
|
86
|
+
)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'uuidtools'
|
2
|
+
|
3
|
+
module Gallifrey
|
4
|
+
|
5
|
+
module GUID
|
6
|
+
|
7
|
+
class << self
|
8
|
+
|
9
|
+
def create
|
10
|
+
UUIDTools::UUID.random_create.to_s
|
11
|
+
end
|
12
|
+
|
13
|
+
def parse(guid_string)
|
14
|
+
UUIDTools::UUID.parse(guid_string).to_s
|
15
|
+
end
|
16
|
+
|
17
|
+
def valid?(guid_string)
|
18
|
+
!!parse(guid_string) rescue false
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'gallifrey/aggregate_not_found'
|
2
|
+
require 'gallifrey/aggregate'
|
3
|
+
require 'gallifrey/event_store/null'
|
4
|
+
|
5
|
+
module Gallifrey
|
6
|
+
|
7
|
+
class Repository
|
8
|
+
|
9
|
+
def initialize(event_store = EventStore::Null)
|
10
|
+
@event_store = event_store
|
11
|
+
@aggregates = {}
|
12
|
+
end
|
13
|
+
|
14
|
+
def add(aggregate)
|
15
|
+
raise(TypeError) unless aggregate.is_a?(Aggregate)
|
16
|
+
@aggregates[aggregate.id] ||= aggregate
|
17
|
+
end
|
18
|
+
|
19
|
+
def get(aggregate_class, aggregate_id)
|
20
|
+
load_from_cache(aggregate_class, aggregate_id) or load_from_event_store(aggregate_class, aggregate_id)
|
21
|
+
end
|
22
|
+
|
23
|
+
def commit
|
24
|
+
@aggregates.each_value do |aggregate|
|
25
|
+
next unless aggregate.modified?
|
26
|
+
@event_store.save_events(aggregate.type, aggregate.id, aggregate.unsaved_events)
|
27
|
+
aggregate.mark_as_saved
|
28
|
+
end
|
29
|
+
@aggregates = {}
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def load_from_cache(aggregate_class, aggregate_id)
|
35
|
+
if aggregate = @aggregates[aggregate_id]
|
36
|
+
raise(AggregateNotFound) unless aggregate.is_a?(aggregate_class)
|
37
|
+
end
|
38
|
+
aggregate
|
39
|
+
end
|
40
|
+
|
41
|
+
def load_from_event_store(aggregate_class, aggregate_id)
|
42
|
+
@aggregates[aggregate_id] = aggregate_class.new(aggregate_id).tap do |aggregate|
|
43
|
+
# aggregate.load_from_snapshot(@event_store.load_snapshot(aggregate.type, aggregate.id))
|
44
|
+
aggregate.load_from_history(@event_store.load_events(aggregate.type, aggregate.id, aggregate.version))
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Gallifrey
|
2
|
+
|
3
|
+
module View
|
4
|
+
|
5
|
+
class Composite
|
6
|
+
|
7
|
+
def initialize(*views)
|
8
|
+
@views = views
|
9
|
+
end
|
10
|
+
|
11
|
+
def process_event(event)
|
12
|
+
@views.each { |view| view.process_event(event) }
|
13
|
+
end
|
14
|
+
|
15
|
+
def delete
|
16
|
+
@views.each(&:delete)
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|