maglevrecord 0.1.1 → 0.1.2

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 (109) hide show
  1. data/.gitignore +7 -0
  2. data/.travis.yml +0 -1
  3. data/README.md +22 -7
  4. data/Rakefile +2 -2
  5. data/install.sh +0 -1
  6. data/lib/maglev_record/base.rb +10 -1
  7. data/lib/maglev_record/enumerable.rb +6 -1
  8. data/lib/maglev_record/errors.rb +3 -0
  9. data/lib/maglev_record/maglev_record.rb +1 -1
  10. data/lib/maglev_record/maglev_support/concern.rb +2 -3
  11. data/lib/maglev_record/maglev_support/secure_password.rb +2 -3
  12. data/lib/maglev_record/migration/loader.rb +1 -1
  13. data/lib/maglev_record/migration/migration.rb +14 -0
  14. data/lib/maglev_record/migration/migrator.rb +22 -4
  15. data/lib/maglev_record/migration/operations.rb +58 -0
  16. data/lib/maglev_record/persistence.rb +12 -5
  17. data/lib/maglev_record/read_write.rb +38 -7
  18. data/lib/maglev_record/rooted_enumerable.rb +6 -1
  19. data/lib/maglev_record/rooted_persistence.rb +4 -0
  20. data/lib/maglev_record/sensible.rb +2 -2
  21. data/lib/maglev_record/snapshot/change.rb +54 -15
  22. data/lib/maglev_record/snapshot/class_change.rb +66 -0
  23. data/lib/maglev_record/snapshot/class_snapshot.rb +63 -0
  24. data/lib/maglev_record/snapshot/snapshot.rb +44 -38
  25. data/lib/maglev_record/snapshot/snapshotable.rb +81 -26
  26. data/lib/maglev_record/snapshot/superclass_mismatch_change.rb +143 -0
  27. data/lib/maglev_record/snapshot.rb +3 -2
  28. data/lib/maglev_record/validations.rb +49 -0
  29. data/lib/maglev_record.rb +3 -2
  30. data/lib/tasks/database.rake +61 -17
  31. data/test/automigration/rake_task_base.rb +57 -0
  32. data/test/automigration/test_auto.slow.rb +38 -0
  33. data/test/automigration/test_migration_string.rb +173 -0
  34. data/test/automigration/test_rake_task_preconditions.slow.rb +41 -0
  35. data/test/automigration/test_show.slow.rb +21 -0
  36. data/test/automigration/test_superclass_mismatch.rb +96 -0
  37. data/test/example_model.rb +7 -5
  38. data/test/migration/base_lectures.rb +30 -0
  39. data/test/migration/operation_setup.rb +66 -56
  40. data/test/migration/projects/automigration/.gitignore +15 -0
  41. data/test/migration/projects/automigration/Gemfile +44 -0
  42. data/test/migration/projects/automigration/Gemfile.lock +115 -0
  43. data/test/migration/projects/automigration/README.rdoc +261 -0
  44. data/test/migration/projects/automigration/Rakefile +17 -0
  45. data/test/migration/projects/automigration/app/assets/images/rails.png +0 -0
  46. data/test/migration/projects/automigration/app/assets/javascripts/application.js +15 -0
  47. data/test/migration/projects/automigration/app/assets/stylesheets/application.css +13 -0
  48. data/test/migration/projects/automigration/app/controllers/application_controller.rb +3 -0
  49. data/test/migration/projects/automigration/app/helpers/application_helper.rb +2 -0
  50. data/test/migration/projects/automigration/app/mailers/.gitkeep +0 -0
  51. data/test/migration/projects/automigration/app/models/.gitkeep +0 -0
  52. data/test/migration/projects/automigration/app/models/project_model.rb +8 -0
  53. data/test/migration/projects/automigration/app/views/layouts/application.html.erb +14 -0
  54. data/test/migration/projects/automigration/config/application.rb +62 -0
  55. data/test/migration/projects/automigration/config/boot.rb +6 -0
  56. data/test/migration/projects/automigration/config/database.yml +25 -0
  57. data/test/migration/projects/automigration/config/environment.rb +5 -0
  58. data/test/migration/projects/automigration/config/environments/development.rb +37 -0
  59. data/test/migration/projects/automigration/config/environments/production.rb +67 -0
  60. data/test/migration/projects/automigration/config/initializers/backtrace_silencers.rb +7 -0
  61. data/test/migration/projects/automigration/config/initializers/inflections.rb +15 -0
  62. data/test/migration/projects/automigration/config/initializers/mime_types.rb +5 -0
  63. data/test/migration/projects/automigration/config/initializers/secret_token.rb +7 -0
  64. data/test/migration/projects/automigration/config/initializers/session_store.rb +8 -0
  65. data/test/migration/projects/automigration/config/initializers/wrap_parameters.rb +14 -0
  66. data/test/migration/projects/automigration/config/locales/en.yml +5 -0
  67. data/test/migration/projects/automigration/config/routes.rb +58 -0
  68. data/test/migration/projects/automigration/config.ru +4 -0
  69. data/test/migration/projects/automigration/db/seeds.rb +7 -0
  70. data/test/migration/projects/automigration/lib/assets/.gitkeep +0 -0
  71. data/test/migration/projects/automigration/lib/tasks/.gitkeep +0 -0
  72. data/test/migration/projects/automigration/log/.gitkeep +0 -0
  73. data/test/migration/projects/automigration/public/404.html +26 -0
  74. data/test/migration/projects/automigration/public/422.html +26 -0
  75. data/test/migration/projects/automigration/public/500.html +25 -0
  76. data/test/migration/projects/automigration/public/favicon.ico +0 -0
  77. data/test/migration/projects/automigration/public/index.html +241 -0
  78. data/test/migration/projects/automigration/public/robots.txt +5 -0
  79. data/test/migration/projects/automigration/script/rails +6 -0
  80. data/test/migration/projects/project2/Rakefile +2 -2
  81. data/test/migration/projects/project2/migrations/migration_2013-04-Apr-23_17.31.38.rb +1 -1
  82. data/test/migration/projects/project2/migrations/migration_2013-04-Apr-23_17.31.52.rb +1 -1
  83. data/test/migration/projects/project2/migrations/migration_2013-04-Apr-23_17.32.07.rb +1 -1
  84. data/test/migration/test_change_superclass.rb +111 -0
  85. data/test/migration/test_loader.rb +6 -0
  86. data/test/migration/test_project.rb +1 -29
  87. data/test/migration/test_project1.slow.rb +1 -0
  88. data/test/migration/test_project2.slow.rb +7 -0
  89. data/test/migration/test_remove.rb +123 -2
  90. data/test/migration/todo.txt +1 -1
  91. data/test/more_asserts.rb +1 -1
  92. data/test/snapshot/test_attributes.rb +33 -0
  93. data/test/snapshot/{test_snapshot_attributes.slow.rb → test_attributes.slow.rb} +3 -5
  94. data/test/snapshot/test_classes.rb +32 -0
  95. data/test/snapshot/{test_snapshot_classes.slow.rb → test_classes.slow.rb} +1 -1
  96. data/test/snapshot/test_from_file_system.rb +113 -0
  97. data/test/snapshot/test_methods.rb +136 -0
  98. data/test/snapshot/test_methods.slow.rb +67 -0
  99. data/test/snapshot/test_reset.rb +68 -0
  100. data/test/snapshot/test_snapshot.rb +41 -75
  101. data/test/snapshot/test_snapshot.slow.rb +98 -0
  102. data/test/snapshot/test_snapshotable.rb +0 -1
  103. data/test/temp_dir_test.rb +40 -0
  104. data/test/test_active_model_like_interface.rb +4 -1
  105. data/test/test_model_timestamps.rb +13 -5
  106. data/test/test_query_interface.rb +10 -0
  107. data/test/test_sensibles.rb +18 -10
  108. data/test/test_validation.rb +2 -12
  109. metadata +64 -5
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maglevrecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -51,17 +51,28 @@ files:
51
51
  - lib/maglev_record/sensible.rb
52
52
  - lib/maglev_record/snapshot.rb
53
53
  - lib/maglev_record/snapshot/change.rb
54
+ - lib/maglev_record/snapshot/class_change.rb
55
+ - lib/maglev_record/snapshot/class_snapshot.rb
54
56
  - lib/maglev_record/snapshot/snapshot.rb
55
57
  - lib/maglev_record/snapshot/snapshotable.rb
58
+ - lib/maglev_record/snapshot/superclass_mismatch_change.rb
56
59
  - lib/maglev_record/tools.rb
57
60
  - lib/maglev_record/tools/object_reference.rb
58
61
  - lib/maglev_record/tools/submodule_finder.rb
62
+ - lib/maglev_record/validations.rb
59
63
  - lib/tasks/database.rake
60
64
  - maglevrecord.gemspec
61
65
  - rails/init.rb
62
66
  - test/_test_object_reference.rb
67
+ - test/automigration/rake_task_base.rb
68
+ - test/automigration/test_auto.slow.rb
69
+ - test/automigration/test_migration_string.rb
70
+ - test/automigration/test_rake_task_preconditions.slow.rb
71
+ - test/automigration/test_show.slow.rb
72
+ - test/automigration/test_superclass_mismatch.rb
63
73
  - test/example_model.rb
64
74
  - test/lint.rb
75
+ - test/migration/base_lectures.rb
65
76
  - test/migration/dummy_migrations/migration_1.rb
66
77
  - test/migration/dummy_migrations/migration_2.rb
67
78
  - test/migration/dummy_migrations/migration_3.rb
@@ -69,6 +80,46 @@ files:
69
80
  - test/migration/migrations/migration_2.rb
70
81
  - test/migration/migrations/migration_3.rb
71
82
  - test/migration/operation_setup.rb
83
+ - test/migration/projects/automigration/.gitignore
84
+ - test/migration/projects/automigration/Gemfile
85
+ - test/migration/projects/automigration/Gemfile.lock
86
+ - test/migration/projects/automigration/README.rdoc
87
+ - test/migration/projects/automigration/Rakefile
88
+ - test/migration/projects/automigration/app/assets/images/rails.png
89
+ - test/migration/projects/automigration/app/assets/javascripts/application.js
90
+ - test/migration/projects/automigration/app/assets/stylesheets/application.css
91
+ - test/migration/projects/automigration/app/controllers/application_controller.rb
92
+ - test/migration/projects/automigration/app/helpers/application_helper.rb
93
+ - test/migration/projects/automigration/app/mailers/.gitkeep
94
+ - test/migration/projects/automigration/app/models/.gitkeep
95
+ - test/migration/projects/automigration/app/models/project_model.rb
96
+ - test/migration/projects/automigration/app/views/layouts/application.html.erb
97
+ - test/migration/projects/automigration/config.ru
98
+ - test/migration/projects/automigration/config/application.rb
99
+ - test/migration/projects/automigration/config/boot.rb
100
+ - test/migration/projects/automigration/config/database.yml
101
+ - test/migration/projects/automigration/config/environment.rb
102
+ - test/migration/projects/automigration/config/environments/development.rb
103
+ - test/migration/projects/automigration/config/environments/production.rb
104
+ - test/migration/projects/automigration/config/initializers/backtrace_silencers.rb
105
+ - test/migration/projects/automigration/config/initializers/inflections.rb
106
+ - test/migration/projects/automigration/config/initializers/mime_types.rb
107
+ - test/migration/projects/automigration/config/initializers/secret_token.rb
108
+ - test/migration/projects/automigration/config/initializers/session_store.rb
109
+ - test/migration/projects/automigration/config/initializers/wrap_parameters.rb
110
+ - test/migration/projects/automigration/config/locales/en.yml
111
+ - test/migration/projects/automigration/config/routes.rb
112
+ - test/migration/projects/automigration/db/seeds.rb
113
+ - test/migration/projects/automigration/lib/assets/.gitkeep
114
+ - test/migration/projects/automigration/lib/tasks/.gitkeep
115
+ - test/migration/projects/automigration/log/.gitkeep
116
+ - test/migration/projects/automigration/public/404.html
117
+ - test/migration/projects/automigration/public/422.html
118
+ - test/migration/projects/automigration/public/500.html
119
+ - test/migration/projects/automigration/public/favicon.ico
120
+ - test/migration/projects/automigration/public/index.html
121
+ - test/migration/projects/automigration/public/robots.txt
122
+ - test/migration/projects/automigration/script/rails
72
123
  - test/migration/projects/project1/.gitignore
73
124
  - test/migration/projects/project1/Gemfile
74
125
  - test/migration/projects/project1/Gemfile.lock
@@ -151,6 +202,7 @@ files:
151
202
  - test/migration/projects/project2/public/index.html
152
203
  - test/migration/projects/project2/public/robots.txt
153
204
  - test/migration/projects/project2/script/rails
205
+ - test/migration/test_change_superclass.rb
154
206
  - test/migration/test_loader.rb
155
207
  - test/migration/test_migration.rb
156
208
  - test/migration/test_nonexistent_classes.rb
@@ -163,10 +215,18 @@ files:
163
215
  - test/migration/test_scenario.rb
164
216
  - test/migration/todo.txt
165
217
  - test/more_asserts.rb
218
+ - test/snapshot/test_attributes.rb
219
+ - test/snapshot/test_attributes.slow.rb
220
+ - test/snapshot/test_classes.rb
221
+ - test/snapshot/test_classes.slow.rb
222
+ - test/snapshot/test_from_file_system.rb
223
+ - test/snapshot/test_methods.rb
224
+ - test/snapshot/test_methods.slow.rb
225
+ - test/snapshot/test_reset.rb
166
226
  - test/snapshot/test_snapshot.rb
167
- - test/snapshot/test_snapshot_attributes.slow.rb
168
- - test/snapshot/test_snapshot_classes.slow.rb
227
+ - test/snapshot/test_snapshot.slow.rb
169
228
  - test/snapshot/test_snapshotable.rb
229
+ - test/temp_dir_test.rb
170
230
  - test/test_accessors.rb
171
231
  - test/test_active_model_like_interface.rb
172
232
  - test/test_model_timestamps.rb
@@ -198,9 +258,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
258
  version: '0'
199
259
  requirements: []
200
260
  rubyforge_project:
201
- rubygems_version: 1.8.24
261
+ rubygems_version: 1.8.23
202
262
  signing_key:
203
263
  specification_version: 3
204
264
  summary: MagLev persistence with an ActiveRecord-like interface!
205
265
  test_files: []
206
- has_rdoc: