raffle_v1 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (251) hide show
  1. checksums.yaml +6 -14
  2. data/README.md +11 -2
  3. data/app/assets/images/raffle_v1/game.png +0 -0
  4. data/app/assets/images/raffle_v1/gift.png +0 -0
  5. data/app/assets/images/raffle_v1/lifesaver.png +0 -0
  6. data/app/assets/images/raffle_v1/person01.jpg +0 -0
  7. data/app/assets/javascripts/raffle_v1/application.js +2 -1
  8. data/app/assets/javascripts/raffle_v1/home.js.coffee +3 -0
  9. data/app/assets/javascripts/raffle_v1/locales.js.coffee +3 -0
  10. data/app/assets/javascripts/raffle_v1/page_layouts.js.coffee +3 -0
  11. data/app/assets/javascripts/raffle_v1/pages.js.coffee +3 -0
  12. data/app/assets/javascripts/raffle_v1/programs.js.coffee +3 -0
  13. data/app/assets/javascripts/raffle_v1/roles.js.coffee +3 -0
  14. data/app/assets/javascripts/raffle_v1/stylesheets.js.coffee +3 -0
  15. data/app/assets/javascripts/raffle_v1/terms_and_conditions.js.coffee +3 -0
  16. data/app/assets/javascripts/raffle_v1/terms_of_conditions.js.coffee +3 -0
  17. data/app/assets/javascripts/raffle_v1/translation_keys.js.coffee +3 -0
  18. data/app/assets/javascripts/raffle_v1/translation_objects.js.coffee +3 -0
  19. data/app/assets/javascripts/raffle_v1/user.js.coffee +3 -0
  20. data/app/assets/javascripts/raffle_v1/versions.js.coffee +3 -0
  21. data/app/assets/stylesheets/raffle_v1/TableTools.css +264 -0
  22. data/app/assets/stylesheets/raffle_v1/TableTools.css.scss +264 -0
  23. data/app/assets/stylesheets/raffle_v1/TableTools_JUI.css +182 -0
  24. data/app/assets/stylesheets/raffle_v1/TableTools_JUI.css.scss +183 -0
  25. data/app/assets/stylesheets/raffle_v1/_custom.css.scss +3310 -0
  26. data/app/assets/stylesheets/raffle_v1/_variable.scss +122 -0
  27. data/app/assets/stylesheets/raffle_v1/_variable_defaults.scss +83 -0
  28. data/app/assets/stylesheets/raffle_v1/application.css.scss +34 -0
  29. data/app/assets/stylesheets/raffle_v1/application.css.scss.erb +32 -0
  30. data/app/assets/stylesheets/raffle_v1/bootstrap-responsive.css +570 -0
  31. data/app/assets/stylesheets/raffle_v1/bootstrap-responsive.css.scss +570 -0
  32. data/app/assets/stylesheets/raffle_v1/bootstrap.css +4226 -0
  33. data/app/assets/stylesheets/raffle_v1/bootstrap.css.scss +4226 -0
  34. data/app/assets/stylesheets/raffle_v1/colorbox.css +88 -0
  35. data/app/assets/stylesheets/raffle_v1/colorbox.css.scss +88 -0
  36. data/app/assets/stylesheets/raffle_v1/grid.css.scss +258 -0
  37. data/app/assets/stylesheets/raffle_v1/hierarchy.css.scss +16 -0
  38. data/app/assets/stylesheets/raffle_v1/home.css.scss +18 -0
  39. data/app/assets/stylesheets/raffle_v1/jquery.dataTables.css +83 -0
  40. data/app/assets/stylesheets/raffle_v1/jquery.dataTables.css.scss +83 -0
  41. data/app/assets/stylesheets/raffle_v1/jquery.jcarousel.css +206 -0
  42. data/app/assets/stylesheets/raffle_v1/jquery.wysiwyg.css +57 -0
  43. data/app/assets/stylesheets/raffle_v1/jquery.wysiwyg.css.scss +57 -0
  44. data/app/assets/stylesheets/raffle_v1/jqueryui/jquery.ui.core.css +38 -0
  45. data/app/assets/stylesheets/raffle_v1/jqueryui/jquery.ui.core.css.scss +38 -0
  46. data/app/assets/stylesheets/raffle_v1/jqueryui/jquery.ui.dialog.css +21 -0
  47. data/app/assets/stylesheets/raffle_v1/jqueryui/jquery.ui.dialog.css.scss +21 -0
  48. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  49. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  50. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  51. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  52. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  53. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  54. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  55. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  56. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  57. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  58. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  59. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  60. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  61. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  62. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/jquery-ui-1.8.18.custom.css +563 -0
  63. data/app/assets/stylesheets/raffle_v1/jqueryui/ui-lightness/jquery-ui-1.8.18.custom.css.scss +563 -0
  64. data/app/assets/stylesheets/raffle_v1/locales.css.scss +3 -0
  65. data/app/assets/stylesheets/raffle_v1/page_layouts.css.scss +3 -0
  66. data/app/assets/stylesheets/raffle_v1/pages.css.scss +3 -0
  67. data/app/assets/stylesheets/raffle_v1/programs.css.scss +3 -0
  68. data/app/assets/stylesheets/raffle_v1/reset.css.scss +96 -0
  69. data/app/assets/stylesheets/raffle_v1/roles.css.scss +3 -0
  70. data/app/assets/stylesheets/raffle_v1/scaffolds.css.scss +42 -0
  71. data/app/assets/stylesheets/raffle_v1/stylesheets.css.scss +3 -0
  72. data/app/assets/stylesheets/raffle_v1/terms_and_conditions.css.scss +3 -0
  73. data/app/assets/stylesheets/raffle_v1/terms_of_conditions.css.scss +4 -0
  74. data/app/assets/stylesheets/raffle_v1/translation_keys.css.scss +3 -0
  75. data/app/assets/stylesheets/raffle_v1/translation_objects.css.scss +3 -0
  76. data/app/assets/stylesheets/raffle_v1/ui.multiselect.css +33 -0
  77. data/app/assets/stylesheets/raffle_v1/ui.multiselect.css.scss +33 -0
  78. data/app/assets/stylesheets/raffle_v1/user.css.scss +3 -0
  79. data/app/assets/stylesheets/raffle_v1/versions.css.scss +3 -0
  80. data/app/controllers/raffle_v1/application_controller.rb +80 -0
  81. data/app/controllers/raffle_v1/home_controller.rb +15 -0
  82. data/app/controllers/raffle_v1/locales_controller.rb +87 -0
  83. data/app/controllers/raffle_v1/page_layouts_controller.rb +87 -0
  84. data/app/controllers/raffle_v1/pages_controller.rb +180 -0
  85. data/app/controllers/raffle_v1/programs_controller.rb +140 -0
  86. data/app/controllers/raffle_v1/roles_controller.rb +87 -0
  87. data/app/controllers/raffle_v1/stylesheets_controller.rb +19 -0
  88. data/app/controllers/raffle_v1/terms_and_conditions_controller.rb +118 -0
  89. data/app/controllers/raffle_v1/translation_keys_controller.rb +119 -0
  90. data/app/controllers/raffle_v1/translation_objects_controller.rb +87 -0
  91. data/app/controllers/raffle_v1/user_controller.rb +138 -0
  92. data/app/controllers/raffle_v1/versions_controller.rb +15 -0
  93. data/app/models/raffle_v1/ability.rb +30 -0
  94. data/app/models/raffle_v1/admin.rb +35 -0
  95. data/app/models/raffle_v1/admin_ability.rb +28 -0
  96. data/app/models/raffle_v1/locale.rb +29 -0
  97. data/app/models/raffle_v1/page.rb +26 -0
  98. data/app/models/raffle_v1/page_layout.rb +6 -0
  99. data/app/models/raffle_v1/program.rb +84 -0
  100. data/app/models/raffle_v1/program_locale.rb +11 -0
  101. data/app/models/raffle_v1/program_setting.rb +5 -0
  102. data/app/models/raffle_v1/role.rb +5 -0
  103. data/app/models/raffle_v1/roles_users.rb +5 -0
  104. data/app/models/raffle_v1/stylesheet.rb +9 -0
  105. data/app/models/raffle_v1/terms_and_condition.rb +17 -0
  106. data/app/models/raffle_v1/translation.rb +29 -0
  107. data/app/models/raffle_v1/translation_key.rb +35 -0
  108. data/app/models/raffle_v1/translation_object.rb +11 -0
  109. data/app/models/raffle_v1/user.rb +108 -0
  110. data/config/rafflev1.rb +6 -0
  111. data/db/migrate/20130123214645_devise_create_users.rb +49 -0
  112. data/db/migrate/20130124004626_devise_create_admins.rb +49 -0
  113. data/db/migrate/20130124231541_create_versions.rb +18 -0
  114. data/db/migrate/20130127235347_create_programs.rb +9 -0
  115. data/db/migrate/20130129155515_add_domain_fields_to_programs.rb +6 -0
  116. data/db/migrate/20130129160949_create_terms_and_conditions.rb +18 -0
  117. data/db/migrate/20130129183112_add_program_to_users.rb +5 -0
  118. data/db/migrate/20130129204204_add_username_to_users.rb +6 -0
  119. data/db/migrate/20130129211205_create_roles.rb +9 -0
  120. data/db/migrate/20130129212302_create_roles_users.rb +12 -0
  121. data/db/migrate/20130130013315_create_locales.rb +11 -0
  122. data/db/migrate/20130130154500_create_program_locales.rb +8 -0
  123. data/db/migrate/20130130223342_add_settings_to_users.rb +5 -0
  124. data/db/migrate/20130130223609_add_locale_available_to_program.rb +5 -0
  125. data/db/migrate/20130130223810_add_locales_to_versions.rb +5 -0
  126. data/db/migrate/20130130224141_add_locale_name_to_program.rb +5 -0
  127. data/db/migrate/20130130224327_add_admin_type_to_admins.rb +5 -0
  128. data/db/migrate/20130130225223_add_deleted_at_to_models.rb +9 -0
  129. data/db/migrate/20130130230516_create_translations.rb +13 -0
  130. data/db/migrate/20130131005653_add_timeout_field_to_program.rb +7 -0
  131. data/db/migrate/20130131144951_create_stylesheets.rb +14 -0
  132. data/db/migrate/20130202132442_add_tos_to_program.rb +5 -0
  133. data/db/migrate/20130202133149_add_programid_to_terms.rb +23 -0
  134. data/db/migrate/20130202193646_add_akm_to_terms_and_conditions.rb +5 -0
  135. data/db/migrate/20130203035054_create_translation_keys.rb +10 -0
  136. data/db/migrate/20130203214314_create_program_settings.rb +9 -0
  137. data/db/migrate/20130204025824_add_translationkey_to_translation.rb +5 -0
  138. data/db/migrate/20130204030555_create_translation_objects.rb +39 -0
  139. data/db/migrate/20130205203152_create_pages.rb +25 -0
  140. data/db/migrate/20130208042652_add_fields_to_page.rb +6 -0
  141. data/db/migrate/20130208043123_create_page_layouts.rb +12 -0
  142. data/db/migrate/20130208051925_add_statusitem_to_page.rb +5 -0
  143. data/db/migrate/20130306012135_add_fields_to_user.rb +40 -0
  144. data/db/migrate/20130306162357_change_bad_fields_on_user.rb +11 -0
  145. data/db/migrate/20130306163554_add_password_created_at_to_user.rb +6 -0
  146. data/db/migrate/20130306165455_add_confirmable_to_user.rb +14 -0
  147. data/db/migrate/20130306211253_add_username_index_to_user.rb +41 -0
  148. data/db/migrate/20130313011833_add_field_to_user.rb +5 -0
  149. data/lib/database_cleaner-0.7.2/Gemfile.lock +163 -0
  150. data/lib/database_cleaner-0.7.2/History.txt +209 -0
  151. data/lib/database_cleaner-0.7.2/LICENSE +20 -0
  152. data/lib/database_cleaner-0.7.2/README.textile +223 -0
  153. data/lib/database_cleaner-0.7.2/Rakefile +65 -0
  154. data/lib/database_cleaner-0.7.2/TODO +3 -0
  155. data/lib/database_cleaner-0.7.2/VERSION.yml +5 -0
  156. data/lib/database_cleaner-0.7.2/cucumber.yml +1 -0
  157. data/lib/database_cleaner-0.7.2/examples/Gemfile +49 -0
  158. data/lib/database_cleaner-0.7.2/examples/Gemfile.lock +163 -0
  159. data/lib/database_cleaner-0.7.2/examples/config/database.yml.example +8 -0
  160. data/{test/dummy/db/test.sqlite3 → lib/database_cleaner-0.7.2/examples/db/sqlite_databases_go_here} +0 -0
  161. data/lib/database_cleaner-0.7.2/examples/features/example.feature +11 -0
  162. data/lib/database_cleaner-0.7.2/examples/features/example_multiple_db.feature +23 -0
  163. data/lib/database_cleaner-0.7.2/examples/features/example_multiple_orm.feature +22 -0
  164. data/lib/database_cleaner-0.7.2/examples/features/step_definitions/activerecord_steps.rb +31 -0
  165. data/lib/database_cleaner-0.7.2/examples/features/step_definitions/couchpotato_steps.rb +31 -0
  166. data/lib/database_cleaner-0.7.2/examples/features/step_definitions/datamapper_steps.rb +37 -0
  167. data/lib/database_cleaner-0.7.2/examples/features/step_definitions/mongoid_steps.rb +23 -0
  168. data/lib/database_cleaner-0.7.2/examples/features/step_definitions/mongomapper_steps.rb +31 -0
  169. data/lib/database_cleaner-0.7.2/examples/features/step_definitions/translation_steps.rb +55 -0
  170. data/lib/database_cleaner-0.7.2/examples/features/support/env.rb +62 -0
  171. data/lib/database_cleaner-0.7.2/examples/lib/activerecord_models.rb +41 -0
  172. data/lib/database_cleaner-0.7.2/examples/lib/couchpotato_models.rb +61 -0
  173. data/lib/database_cleaner-0.7.2/examples/lib/datamapper_models.rb +50 -0
  174. data/lib/database_cleaner-0.7.2/examples/lib/mongoid_models.rb +49 -0
  175. data/lib/database_cleaner-0.7.2/examples/lib/mongomapper_models.rb +51 -0
  176. data/lib/database_cleaner-0.7.2/features/cleaning.feature +22 -0
  177. data/lib/database_cleaner-0.7.2/features/cleaning_default_strategy.feature +19 -0
  178. data/lib/database_cleaner-0.7.2/features/cleaning_multiple_dbs.feature +21 -0
  179. data/lib/database_cleaner-0.7.2/features/cleaning_multiple_orms.feature +29 -0
  180. data/lib/database_cleaner-0.7.2/features/step_definitions/database_cleaner_steps.rb +32 -0
  181. data/lib/database_cleaner-0.7.2/features/support/env.rb +7 -0
  182. data/lib/database_cleaner-0.7.2/features/support/feature_runner.rb +39 -0
  183. data/lib/database_cleaner-0.7.2/lib/database_cleaner.rb +3 -0
  184. data/lib/database_cleaner-0.7.2/lib/database_cleaner/active_record/base.rb +53 -0
  185. data/lib/database_cleaner-0.7.2/lib/database_cleaner/active_record/deletion.rb +69 -0
  186. data/lib/database_cleaner-0.7.2/lib/database_cleaner/active_record/transaction.rb +28 -0
  187. data/lib/database_cleaner-0.7.2/lib/database_cleaner/active_record/truncation.rb +151 -0
  188. data/lib/database_cleaner-0.7.2/lib/database_cleaner/base.rb +138 -0
  189. data/lib/database_cleaner-0.7.2/lib/database_cleaner/configuration.rb +94 -0
  190. data/lib/database_cleaner-0.7.2/lib/database_cleaner/couch_potato/base.rb +7 -0
  191. data/lib/database_cleaner-0.7.2/lib/database_cleaner/couch_potato/truncation.rb +28 -0
  192. data/lib/database_cleaner-0.7.2/lib/database_cleaner/cucumber.rb +11 -0
  193. data/lib/database_cleaner-0.7.2/lib/database_cleaner/data_mapper/base.rb +21 -0
  194. data/lib/database_cleaner-0.7.2/lib/database_cleaner/data_mapper/transaction.rb +26 -0
  195. data/lib/database_cleaner-0.7.2/lib/database_cleaner/data_mapper/truncation.rb +175 -0
  196. data/lib/database_cleaner-0.7.2/lib/database_cleaner/generic/base.rb +20 -0
  197. data/lib/database_cleaner-0.7.2/lib/database_cleaner/generic/truncation.rb +37 -0
  198. data/lib/database_cleaner-0.7.2/lib/database_cleaner/mongo/truncation.rb +22 -0
  199. data/lib/database_cleaner-0.7.2/lib/database_cleaner/mongo_mapper/base.rb +20 -0
  200. data/lib/database_cleaner-0.7.2/lib/database_cleaner/mongo_mapper/truncation.rb +19 -0
  201. data/lib/database_cleaner-0.7.2/lib/database_cleaner/mongoid/base.rb +20 -0
  202. data/lib/database_cleaner-0.7.2/lib/database_cleaner/mongoid/truncation.rb +20 -0
  203. data/lib/database_cleaner-0.7.2/lib/database_cleaner/null_strategy.rb +15 -0
  204. data/lib/database_cleaner-0.7.2/lib/database_cleaner/sequel/base.rb +22 -0
  205. data/lib/database_cleaner-0.7.2/lib/database_cleaner/sequel/transaction.rb +25 -0
  206. data/lib/database_cleaner-0.7.2/lib/database_cleaner/sequel/truncation.rb +50 -0
  207. data/lib/database_cleaner-0.7.2/spec/database_cleaner/active_record/base_spec.rb +144 -0
  208. data/lib/database_cleaner-0.7.2/spec/database_cleaner/active_record/transaction_spec.rb +77 -0
  209. data/lib/database_cleaner-0.7.2/spec/database_cleaner/active_record/truncation_spec.rb +76 -0
  210. data/lib/database_cleaner-0.7.2/spec/database_cleaner/base_spec.rb +493 -0
  211. data/lib/database_cleaner-0.7.2/spec/database_cleaner/configuration_spec.rb +294 -0
  212. data/lib/database_cleaner-0.7.2/spec/database_cleaner/couch_potato/truncation_spec.rb +41 -0
  213. data/lib/database_cleaner-0.7.2/spec/database_cleaner/data_mapper/base_spec.rb +30 -0
  214. data/lib/database_cleaner-0.7.2/spec/database_cleaner/data_mapper/transaction_spec.rb +23 -0
  215. data/lib/database_cleaner-0.7.2/spec/database_cleaner/data_mapper/truncation_spec.rb +11 -0
  216. data/lib/database_cleaner-0.7.2/spec/database_cleaner/generic/base_spec.rb +22 -0
  217. data/lib/database_cleaner-0.7.2/spec/database_cleaner/generic/truncation_spec.rb +78 -0
  218. data/lib/database_cleaner-0.7.2/spec/database_cleaner/mongo_mapper/base_spec.rb +33 -0
  219. data/lib/database_cleaner-0.7.2/spec/database_cleaner/mongo_mapper/mongo_examples.rb +8 -0
  220. data/lib/database_cleaner-0.7.2/spec/database_cleaner/mongo_mapper/truncation_spec.rb +74 -0
  221. data/lib/database_cleaner-0.7.2/spec/database_cleaner/sequel/base_spec.rb +32 -0
  222. data/lib/database_cleaner-0.7.2/spec/database_cleaner/sequel/transaction_spec.rb +21 -0
  223. data/lib/database_cleaner-0.7.2/spec/database_cleaner/sequel/truncation_spec.rb +13 -0
  224. data/lib/database_cleaner-0.7.2/spec/database_cleaner/shared_strategy_spec.rb +13 -0
  225. data/lib/database_cleaner-0.7.2/spec/rcov.opts +1 -0
  226. data/lib/database_cleaner-0.7.2/spec/spec.opts +7 -0
  227. data/lib/database_cleaner-0.7.2/spec/spec_helper.rb +19 -0
  228. data/lib/generators/raffle_v1/install/USAGE +8 -0
  229. data/lib/generators/raffle_v1/install/install_generator.rb +2 -2
  230. data/lib/raffle_v1/version.rb +1 -1
  231. metadata +266 -80
  232. data/test/dummy/db/development.sqlite3 +0 -0
  233. data/test/dummy/log/development.log +0 -1304
  234. data/test/dummy/tmp/cache/assets/CA9/000/sprockets%2F4a08cdc7528358910b09a742236ce1d5 +0 -0
  235. data/test/dummy/tmp/cache/assets/CB2/BD0/sprockets%2F85aac33f66112e73231ea0779f646d48 +0 -0
  236. data/test/dummy/tmp/cache/assets/CC8/930/sprockets%2Ff75c059e31f23788564cdeb37454997a +0 -0
  237. data/test/dummy/tmp/cache/assets/CEF/E80/sprockets%2Fd1d95274bb399cd78c4372bc6330679f +0 -0
  238. data/test/dummy/tmp/cache/assets/D00/C30/sprockets%2F7d453e5233c35cc0664189bd1c060dca +0 -0
  239. data/test/dummy/tmp/cache/assets/D06/390/sprockets%2F2db5f5807daaf42647f3f1614b2061c7 +0 -0
  240. data/test/dummy/tmp/cache/assets/D06/5C0/sprockets%2F10f71b69148321ca26d0bb94df09ed46 +0 -0
  241. data/test/dummy/tmp/cache/assets/D1E/8D0/sprockets%2Fd0f3965813d75eefebe5353981159cb3 +0 -0
  242. data/test/dummy/tmp/cache/assets/D35/FB0/sprockets%2Ff706372b7e19b270321cbce180d7edd3 +0 -0
  243. data/test/dummy/tmp/cache/assets/D49/1E0/sprockets%2F1c8eb9a82d46a60faa9b194282db8976 +0 -0
  244. data/test/dummy/tmp/cache/assets/D67/FA0/sprockets%2F3072f540a4a5f4af3636dc9cee4bd821 +0 -0
  245. data/test/dummy/tmp/cache/assets/D76/180/sprockets%2Fe06d9366092cba68641ddefa60cb5e97 +0 -0
  246. data/test/dummy/tmp/cache/assets/D9B/470/sprockets%2Fb7bb6ac37b3929f36a390e4f5b70aec3 +0 -0
  247. data/test/dummy/tmp/cache/assets/D9F/080/sprockets%2F67fdbee8438ea0fdd3406c4f3b277a14 +0 -0
  248. data/test/dummy/tmp/cache/assets/DCD/970/sprockets%2Fb3d4eb65c6d389bff1cb035a7c4e74d2 +0 -0
  249. data/test/dummy/tmp/cache/assets/DD2/7D0/sprockets%2F6d8fc01a6bd28f831fdbe625ea56f2c7 +0 -0
  250. data/test/dummy/tmp/cache/assets/DF1/CA0/sprockets%2Faa2be5b854dacdce2a30a0fff7412887 +0 -0
  251. data/test/dummy/tmp/cache/assets/E0B/E40/sprockets%2F96b1b0fa8f4feee3299fc9dcd2078d0d +0 -0
@@ -0,0 +1,28 @@
1
+ require 'database_cleaner/active_record/base'
2
+ module DatabaseCleaner::ActiveRecord
3
+ class Transaction
4
+ include ::DatabaseCleaner::ActiveRecord::Base
5
+
6
+ def start
7
+ if connection_klass.connection.respond_to?(:increment_open_transactions)
8
+ connection_klass.connection.increment_open_transactions
9
+ else
10
+ connection_klass.__send__(:increment_open_transactions)
11
+ end
12
+ connection_klass.connection.begin_db_transaction
13
+ end
14
+
15
+
16
+ def clean
17
+ return unless connection_klass.connection.open_transactions > 0
18
+
19
+ connection_klass.connection.rollback_db_transaction
20
+
21
+ if connection_klass.connection.respond_to?(:decrement_open_transactions)
22
+ connection_klass.connection.decrement_open_transactions
23
+ else
24
+ connection_klass.__send__(:decrement_open_transactions)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,151 @@
1
+ require 'active_record/base'
2
+ require 'active_record/connection_adapters/abstract_adapter'
3
+ require "database_cleaner/generic/truncation"
4
+ require 'database_cleaner/active_record/base'
5
+
6
+ module ActiveRecord
7
+ module ConnectionAdapters
8
+ # Activerecord-jdbc-adapter defines class dependencies a bit differently - if it is present, confirm to ArJdbc hierarchy to avoid 'superclass mismatch' errors.
9
+ USE_ARJDBC_WORKAROUND = defined?(ArJdbc)
10
+
11
+ class AbstractAdapter
12
+ def views
13
+ @views ||= select_values("select table_name from information_schema.views where table_schema = '#{current_database}'") rescue []
14
+ end
15
+
16
+ def truncate_table(table_name)
17
+ raise NotImplementedError
18
+ end
19
+
20
+ def truncate_tables(tables)
21
+ tables.each do |table_name|
22
+ self.truncate_table(table_name)
23
+ end
24
+ end
25
+ end
26
+
27
+ unless USE_ARJDBC_WORKAROUND
28
+ class SQLiteAdapter < AbstractAdapter
29
+ end
30
+ end
31
+
32
+ # ActiveRecord 3.1 support
33
+ if defined?(AbstractMysqlAdapter)
34
+ MYSQL_ADAPTER_PARENT = USE_ARJDBC_WORKAROUND ? JdbcAdapter : AbstractMysqlAdapter
35
+ MYSQL2_ADAPTER_PARENT = AbstractMysqlAdapter
36
+ else
37
+ MYSQL_ADAPTER_PARENT = USE_ARJDBC_WORKAROUND ? JdbcAdapter : AbstractAdapter
38
+ MYSQL2_ADAPTER_PARENT = AbstractAdapter
39
+ end
40
+
41
+ SQLITE_ADAPTER_PARENT = USE_ARJDBC_WORKAROUND ? JdbcAdapter : SQLiteAdapter
42
+ POSTGRE_ADAPTER_PARENT = USE_ARJDBC_WORKAROUND ? JdbcAdapter : AbstractAdapter
43
+
44
+ class MysqlAdapter < MYSQL_ADAPTER_PARENT
45
+ def truncate_table(table_name)
46
+ execute("TRUNCATE TABLE #{quote_table_name(table_name)};")
47
+ end
48
+ end
49
+
50
+ class Mysql2Adapter < MYSQL2_ADAPTER_PARENT
51
+ def truncate_table(table_name)
52
+ execute("TRUNCATE TABLE #{quote_table_name(table_name)};")
53
+ end
54
+ end
55
+
56
+ class IBM_DBAdapter < AbstractAdapter
57
+ def truncate_table(table_name)
58
+ execute("TRUNCATE #{quote_table_name(table_name)} IMMEDIATE")
59
+ end
60
+ end
61
+
62
+ class SQLite3Adapter < SQLITE_ADAPTER_PARENT
63
+ def delete_table(table_name)
64
+ execute("DELETE FROM #{quote_table_name(table_name)};")
65
+ execute("DELETE FROM sqlite_sequence where name = '#{table_name}';")
66
+ end
67
+ alias truncate_table delete_table
68
+ end
69
+
70
+ class JdbcAdapter < AbstractAdapter
71
+ def truncate_table(table_name)
72
+ begin
73
+ execute("TRUNCATE TABLE #{quote_table_name(table_name)};")
74
+ rescue ActiveRecord::StatementInvalid
75
+ execute("DELETE FROM #{quote_table_name(table_name)};")
76
+ end
77
+ end
78
+ end
79
+
80
+ class PostgreSQLAdapter < POSTGRE_ADAPTER_PARENT
81
+
82
+ def db_version
83
+ @db_version ||= postgresql_version
84
+ end
85
+
86
+ def cascade
87
+ @cascade ||= db_version >= 80200 ? 'CASCADE' : ''
88
+ end
89
+
90
+ def restart_identity
91
+ @restart_identity ||= db_version >= 80400 ? 'RESTART IDENTITY' : ''
92
+ end
93
+
94
+ def truncate_table(table_name)
95
+ truncate_tables([table_name])
96
+ end
97
+
98
+ def truncate_tables(table_names)
99
+ execute("TRUNCATE TABLE #{table_names.map{|name| quote_table_name(name)}.join(', ')} #{restart_identity} #{cascade};")
100
+ end
101
+
102
+ end
103
+
104
+ class SQLServerAdapter < AbstractAdapter
105
+ def truncate_table(table_name)
106
+ begin
107
+ execute("TRUNCATE TABLE #{quote_table_name(table_name)};")
108
+ rescue ActiveRecord::StatementInvalid
109
+ execute("DELETE FROM #{quote_table_name(table_name)};")
110
+ end
111
+ end
112
+ end
113
+
114
+ class OracleEnhancedAdapter < AbstractAdapter
115
+ def truncate_table(table_name)
116
+ execute("TRUNCATE TABLE #{quote_table_name(table_name)}")
117
+ end
118
+ end
119
+
120
+ end
121
+ end
122
+
123
+
124
+ module DatabaseCleaner::ActiveRecord
125
+ class Truncation
126
+ include ::DatabaseCleaner::ActiveRecord::Base
127
+ include ::DatabaseCleaner::Generic::Truncation
128
+
129
+ def clean
130
+ connection = connection_klass.connection
131
+ connection.disable_referential_integrity do
132
+ connection.truncate_tables(tables_to_truncate(connection))
133
+ end
134
+ end
135
+
136
+ private
137
+
138
+ def tables_to_truncate(connection)
139
+ (@only || connection.tables) - @tables_to_exclude - connection.views
140
+ end
141
+
142
+ # overwritten
143
+ def migration_storage_name
144
+ 'schema_migrations'
145
+ end
146
+
147
+ end
148
+ end
149
+
150
+
151
+
@@ -0,0 +1,138 @@
1
+ require 'database_cleaner/null_strategy'
2
+ module DatabaseCleaner
3
+ class Base
4
+
5
+ def initialize(desired_orm = nil,opts = {})
6
+ if [:autodetect, nil, "autodetect"].include?(desired_orm)
7
+ autodetect
8
+ else
9
+ self.orm = desired_orm
10
+ end
11
+ self.db = opts[:connection] if opts.has_key? :connection
12
+ set_default_orm_strategy
13
+ end
14
+
15
+ def db=(desired_db)
16
+ self.strategy_db = desired_db
17
+ @db = desired_db
18
+ end
19
+
20
+ def strategy_db=(desired_db)
21
+ if strategy.respond_to? :db=
22
+ strategy.db = desired_db
23
+ elsif desired_db!= :default
24
+ raise ArgumentError, "You must provide a strategy object that supports non default databases when you specify a database"
25
+ end
26
+ end
27
+
28
+ def db
29
+ @db || :default
30
+ end
31
+
32
+ def create_strategy(*args)
33
+ strategy, *strategy_args = args
34
+ orm_strategy(strategy).new(*strategy_args)
35
+ end
36
+
37
+ def clean_with(*args)
38
+ strategy = create_strategy(*args)
39
+ strategy.clean
40
+ strategy
41
+ end
42
+
43
+ alias clean_with! clean_with
44
+
45
+ def strategy=(args)
46
+ strategy, *strategy_args = args
47
+ if strategy.is_a?(Symbol)
48
+ @strategy = create_strategy(*args)
49
+ elsif strategy_args.empty?
50
+ @strategy = strategy
51
+ else
52
+ raise ArgumentError, "You must provide a strategy object, or a symbol for a known strategy along with initialization params."
53
+ end
54
+
55
+ self.strategy_db = self.db
56
+
57
+ @strategy
58
+ end
59
+
60
+ def strategy
61
+ @strategy || NullStrategy
62
+ end
63
+
64
+ def orm=(desired_orm)
65
+ @orm = desired_orm.to_sym
66
+ end
67
+
68
+ def orm
69
+ @orm || autodetect
70
+ end
71
+
72
+ def start
73
+ strategy.start
74
+ end
75
+
76
+ def clean
77
+ strategy.clean
78
+ end
79
+
80
+ alias clean! clean
81
+
82
+ def auto_detected?
83
+ !!@autodetected
84
+ end
85
+
86
+ #TODO make strategies directly comparable
87
+ def ==(other)
88
+ self.orm == other.orm && self.db == other.db && self.strategy.class == other.strategy.class
89
+ end
90
+
91
+ private
92
+
93
+ def orm_module
94
+ ::DatabaseCleaner.orm_module(orm)
95
+ end
96
+
97
+ def orm_strategy(strategy)
98
+ require "database_cleaner/#{orm.to_s}/#{strategy.to_s}"
99
+ orm_module.const_get(strategy.to_s.capitalize)
100
+ rescue LoadError => e
101
+ if orm_module.respond_to? :available_strategies
102
+ raise UnknownStrategySpecified, "The '#{strategy}' strategy does not exist for the #{orm} ORM! Available strategies: #{orm_module.available_strategies.join(', ')}"
103
+ else
104
+ raise UnknownStrategySpecified, "The '#{strategy}' strategy does not exist for the #{orm} ORM!"
105
+ end
106
+ end
107
+
108
+ def autodetect
109
+ @orm ||= begin
110
+ @autodetected = true
111
+ if defined? ::ActiveRecord
112
+ :active_record
113
+ elsif defined? ::DataMapper
114
+ :data_mapper
115
+ elsif defined? ::MongoMapper
116
+ :mongo_mapper
117
+ elsif defined? ::Mongoid
118
+ :mongoid
119
+ elsif defined? ::CouchPotato
120
+ :couch_potato
121
+ elsif defined? ::Sequel
122
+ :sequel
123
+ else
124
+ raise NoORMDetected, "No known ORM was detected! Is ActiveRecord, DataMapper, Sequel, MongoMapper, Mongoid, or CouchPotato loaded?"
125
+ end
126
+ end
127
+ end
128
+
129
+ def set_default_orm_strategy
130
+ case orm
131
+ when :active_record, :data_mapper, :sequel
132
+ self.strategy = :transaction
133
+ when :mongo_mapper, :mongoid, :couch_potato
134
+ self.strategy = :truncation
135
+ end
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,94 @@
1
+ require 'database_cleaner/base'
2
+
3
+ module DatabaseCleaner
4
+
5
+ class NoORMDetected < StandardError; end
6
+ class UnknownStrategySpecified < ArgumentError; end
7
+
8
+ class << self
9
+ def [](orm,opts = {})
10
+ raise NoORMDetected unless orm
11
+ @connections ||= []
12
+ cleaner = DatabaseCleaner::Base.new(orm,opts)
13
+ connections.push cleaner
14
+ cleaner
15
+ end
16
+
17
+ def app_root=(desired_root)
18
+ @app_root = desired_root
19
+ end
20
+
21
+ def app_root
22
+ @app_root || Dir.pwd
23
+ end
24
+
25
+ def connections
26
+ @connections ||= [::DatabaseCleaner::Base.new]
27
+ end
28
+
29
+ def logger=(log_source)
30
+ @logger = log_source
31
+ end
32
+
33
+ def logger
34
+ return @logger if @logger
35
+
36
+ @logger = Logger.new(STDOUT)
37
+ @logger.level = Logger::ERROR
38
+ @logger
39
+ end
40
+
41
+ def strategy=(stratagem)
42
+ connections.each { |connect| connect.strategy = stratagem }
43
+ remove_duplicates
44
+ end
45
+
46
+ def orm=(orm)
47
+ connections.each { |connect| connect.orm = orm }
48
+ remove_duplicates
49
+ end
50
+
51
+ def start
52
+ connections.each { |connection| connection.start }
53
+ end
54
+
55
+ def clean
56
+ connections.each { |connection| connection.clean }
57
+ end
58
+
59
+ alias clean! clean
60
+
61
+ def clean_with(*args)
62
+ connections.each { |connection| connection.clean_with(*args) }
63
+ end
64
+
65
+ alias clean_with! clean_with
66
+
67
+ def remove_duplicates
68
+ temp = []
69
+ connections.each do |connect|
70
+ temp.push connect unless temp.include? connect
71
+ end
72
+ @connections = temp
73
+ end
74
+
75
+ def orm_module(symbol)
76
+ case symbol
77
+ when :active_record
78
+ DatabaseCleaner::ActiveRecord
79
+ when :data_mapper
80
+ DatabaseCleaner::DataMapper
81
+ when :mongo
82
+ DatabaseCleaner::Mongo
83
+ when :mongoid
84
+ DatabaseCleaner::Mongoid
85
+ when :mongo_mapper
86
+ DatabaseCleaner::MongoMapper
87
+ when :couch_potato
88
+ DatabaseCleaner::CouchPotato
89
+ when :sequel
90
+ DatabaseCleaner::Sequel
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,7 @@
1
+ module DatabaseCleaner
2
+ module CouchPotato
3
+ def self.available_strategies
4
+ %w[truncation]
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,28 @@
1
+ require 'database_cleaner/generic/truncation'
2
+
3
+ module DatabaseCleaner
4
+ module CouchPotato
5
+ class Truncation
6
+ include ::DatabaseCleaner::Generic::Truncation
7
+
8
+ def initialize(options = {})
9
+ if options.has_key?(:only) || options.has_key?(:except)
10
+ raise ArgumentError, "The :only and :except options are not available for use with CouchPotato/CouchDB."
11
+ elsif !options.empty?
12
+ raise ArgumentError, "Unsupported option. You specified #{options.keys.join(',')}."
13
+ end
14
+ super
15
+ end
16
+
17
+ def clean
18
+ database.recreate!
19
+ end
20
+
21
+ private
22
+
23
+ def database
24
+ ::CouchPotato.couchrest_database
25
+ end
26
+ end
27
+ end
28
+ end