wagn 1.12.13 → 1.13.0.pre

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 (545) hide show
  1. checksums.yaml +5 -13
  2. data/.gitignore +7 -8
  3. data/.rspec +1 -1
  4. data/.simplecov +23 -0
  5. data/.tm_properties +1 -0
  6. data/Gemfile +15 -13
  7. data/Guardfile +34 -0
  8. data/README.rdoc +4 -10
  9. data/VERSION +1 -1
  10. data/app/assets/images/smoothness/animated-overlay.gif +0 -0
  11. data/app/assets/images/smoothness/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  12. data/app/assets/images/smoothness/ui-bg_flat_75_ffffff_40x100.png +0 -0
  13. data/app/assets/images/smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  14. data/app/assets/images/smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  15. data/app/assets/images/smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
  16. data/app/assets/images/smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  17. data/app/assets/images/smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  18. data/app/assets/images/smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  19. data/app/assets/images/smoothness/ui-icons_222222_256x240.png +0 -0
  20. data/app/assets/images/smoothness/ui-icons_2e83ff_256x240.png +0 -0
  21. data/app/assets/images/smoothness/ui-icons_454545_256x240.png +0 -0
  22. data/app/assets/images/smoothness/ui-icons_888888_256x240.png +0 -0
  23. data/app/assets/images/smoothness/ui-icons_cd0a0a_256x240.png +0 -0
  24. data/app/assets/javascripts/application.js +9 -8
  25. data/app/assets/javascripts/jquery.ui.autocomplete.html.js +1 -1
  26. data/app/controllers/card_controller.rb +190 -23
  27. data/config/environments/development.rb +17 -12
  28. data/config/initializers/01_init_ruby_extensions.rb +1 -70
  29. data/config/routes.rb +21 -8
  30. data/config/version_cards.txt +1 -1
  31. data/db/bootstrap/card_references.yml +520 -352
  32. data/db/bootstrap/card_revisions.yml +1818 -1887
  33. data/db/bootstrap/cards.yml +2279 -1310
  34. data/db/migrate_cards/20130411191151_renaming_for_menu.rb +0 -5
  35. data/db/migrate_cards/20130411211600_delete_old_related_tab_cards.rb +0 -6
  36. data/db/migrate_cards/20130419215612_import_help_text.rb +0 -7
  37. data/db/migrate_cards/20130823192433_add_style_cards.rb +2 -6
  38. data/db/migrate_cards/20130910183318_move_styles_to_content.rb +0 -5
  39. data/db/migrate_cards/20130920214038_jsonize_tinymce.rb +0 -6
  40. data/db/migrate_cards/20130920291703_update_stylesheets.rb +0 -5
  41. data/db/migrate_cards/20130927191728_account_events.rb +1 -6
  42. data/db/migrate_cards/20131016172445_common_css_patch.rb +0 -6
  43. data/db/migrate_cards/20140110193325_reset_account_request_type.rb +1 -6
  44. data/db/migrate_cards/20140307231621_user_data_to_cards.rb +78 -0
  45. data/db/migrate_cards/20140317035504_account_requests_to_signups.rb +45 -0
  46. data/db/migrate_cards/20140512155840_add_script_cards.rb +85 -0
  47. data/db/migrate_cards/data/1.12_stylesheets/common.scss +1 -1
  48. data/features/autonaming.feature +3 -3
  49. data/features/flexmail.feature +2 -2
  50. data/features/layouts.feature +1 -1
  51. data/features/navbox.feature +17 -0
  52. data/features/notifications.feature +4 -4
  53. data/features/pointer_inputs.feature +2 -2
  54. data/features/presetting_content.feature +1 -1
  55. data/features/reset_password.feature +34 -0
  56. data/features/{pattern_settings.feature → rules.feature} +7 -7
  57. data/features/setup.feature +32 -0
  58. data/features/signup.feature +47 -0
  59. data/features/step_definitions/email_steps.rb +24 -1
  60. data/features/step_definitions/wagn_steps.rb +66 -31
  61. data/features/step_definitions/web_steps.rb +1 -0
  62. data/features/{content_settings.feature → structure.feature} +3 -6
  63. data/features/support/env.rb +3 -0
  64. data/features/support/paths.rb +2 -2
  65. data/features/support/{wag_env.rb → wagn_env.rb} +1 -1
  66. data/features/table_of_contents.feature +1 -1
  67. data/features/update_includers.feature +3 -3
  68. data/features/watch.feature +2 -2
  69. data/lib/card.rb +12 -10
  70. data/lib/{active_record/quoting_and_matching.rb → card/active_record_ext.rb} +25 -20
  71. data/lib/card/auth.rb +205 -0
  72. data/lib/card/chunk.rb +70 -69
  73. data/lib/card/content.rb +1 -1
  74. data/lib/card/core_ext.rb +74 -0
  75. data/lib/card/env.rb +66 -0
  76. data/lib/card/flexmail.rb +43 -37
  77. data/lib/card/format.rb +42 -29
  78. data/lib/{generators → card/generators}/card_migration/USAGE +0 -0
  79. data/lib/{generators → card/generators}/card_migration/card_migration_generator.rb +0 -0
  80. data/lib/{generators → card/generators}/card_migration/templates/card_migration.erb +0 -6
  81. data/lib/{generators → card/generators}/format/USAGE +0 -0
  82. data/lib/{generators → card/generators}/format/format_generator.rb +0 -0
  83. data/lib/{generators → card/generators}/format/templates/format_spec_template.erb +1 -2
  84. data/lib/{generators → card/generators}/format/templates/format_template.erb +0 -0
  85. data/lib/{generators → card/generators}/set/USAGE +0 -0
  86. data/lib/{generators → card/generators}/set/set_generator.rb +0 -0
  87. data/lib/{generators → card/generators}/set/templates/set_spec_template.erb +1 -2
  88. data/lib/card/generators/set/templates/set_template.erb +1 -0
  89. data/lib/card/loader.rb +145 -0
  90. data/lib/card/mailer.rb +117 -0
  91. data/{app/views → lib/card}/mailer/change_notice.html.erb +2 -2
  92. data/lib/card/mailer/confirmation_email.html.erb +8 -0
  93. data/{app/views → lib/card}/mailer/flexmail.html.erb +0 -0
  94. data/lib/card/mailer/password_reset.html.erb +9 -0
  95. data/{app/views → lib/card}/mailer/signup_alert.html.erb +0 -0
  96. data/lib/card/name.rb +2 -3
  97. data/lib/card/query.rb +0 -3
  98. data/lib/card/query/card_spec.rb +4 -4
  99. data/lib/card/revision.rb +34 -32
  100. data/lib/card/set.rb +204 -180
  101. data/lib/card/set_pattern.rb +126 -101
  102. data/lib/wagn/all.rb +1 -8
  103. data/lib/wagn/application.rb +14 -7
  104. data/lib/wagn/commands/application.rb +1 -1
  105. data/lib/{generators → wagn/generators}/wagn/USAGE +0 -0
  106. data/lib/{generators → wagn/generators}/wagn/templates/Gemfile +0 -0
  107. data/lib/{generators → wagn/generators}/wagn/templates/Rakefile +0 -0
  108. data/lib/{generators → wagn/generators}/wagn/templates/config.ru +0 -0
  109. data/lib/{generators → wagn/generators}/wagn/templates/config/application.rb +0 -0
  110. data/lib/{generators → wagn/generators}/wagn/templates/config/boot.rb +0 -0
  111. data/lib/{generators → wagn/generators}/wagn/templates/config/database.yml +0 -0
  112. data/lib/{generators → wagn/generators}/wagn/templates/config/databases/frontbase.yml +0 -0
  113. data/lib/{generators → wagn/generators}/wagn/templates/config/databases/ibm_db.yml +0 -0
  114. data/lib/{generators → wagn/generators}/wagn/templates/config/databases/jdbc.yml +0 -0
  115. data/lib/{generators → wagn/generators}/wagn/templates/config/databases/jdbcmysql.yml +0 -0
  116. data/lib/{generators → wagn/generators}/wagn/templates/config/databases/jdbcpostgresql.yml +0 -0
  117. data/lib/{generators → wagn/generators}/wagn/templates/config/databases/jdbcsqlite3.yml +0 -0
  118. data/lib/{generators → wagn/generators}/wagn/templates/config/databases/mysql.yml +0 -0
  119. data/lib/{generators → wagn/generators}/wagn/templates/config/databases/oracle.yml +0 -0
  120. data/lib/{generators → wagn/generators}/wagn/templates/config/databases/postgresql.yml +0 -0
  121. data/lib/{generators → wagn/generators}/wagn/templates/config/databases/sqlite3.yml +0 -0
  122. data/lib/{generators → wagn/generators}/wagn/templates/config/environment.rb +0 -0
  123. data/lib/{generators → wagn/generators}/wagn/templates/gitignore +0 -0
  124. data/lib/wagn/generators/wagn/templates/public/files/htaccess +9 -0
  125. data/{public → lib/wagn/generators/wagn/templates/public}/robots.txt +0 -0
  126. data/lib/{generators → wagn/generators}/wagn/templates/script/wagn +0 -0
  127. data/lib/{generators → wagn/generators}/wagn/wagn_generator.rb +12 -0
  128. data/lib/wagn/location.rb +7 -11
  129. data/lib/wagn/migration_helper.rb +4 -1
  130. data/{app/mailers → lib/wagn/tasks}/.gitkeep +0 -0
  131. data/lib/{tasks → wagn/tasks}/cucumber.rake +0 -0
  132. data/lib/{tasks → wagn/tasks}/db.rake +0 -0
  133. data/lib/{tasks → wagn/tasks}/test.rake +5 -2
  134. data/lib/{tasks → wagn/tasks}/wagn.rake +29 -12
  135. data/mods/{standard → core}/chunks/include.rb +2 -0
  136. data/mods/{standard → core}/chunks/link.rb +3 -0
  137. data/mods/core/formats/html_format.rb +27 -35
  138. data/mods/core/sets/all/active_card.rb +15 -3
  139. data/mods/core/sets/all/attribute_tracking.rb +1 -1
  140. data/mods/core/sets/all/collection.rb +4 -5
  141. data/mods/core/sets/all/fetch.rb +98 -80
  142. data/mods/core/sets/all/initialize.rb +2 -0
  143. data/mods/core/sets/all/name.rb +13 -12
  144. data/mods/core/sets/all/pattern.rb +0 -9
  145. data/mods/core/sets/all/permissions.rb +56 -31
  146. data/mods/core/sets/all/phases.rb +63 -84
  147. data/mods/core/sets/all/references.rb +0 -1
  148. data/mods/core/sets/all/rules.rb +3 -4
  149. data/mods/core/sets/all/templating.rb +2 -3
  150. data/mods/core/sets/all/tracked_attributes.rb +26 -9
  151. data/mods/core/sets/all/trash.rb +1 -2
  152. data/mods/core/sets/all/type.rb +6 -1
  153. data/mods/core/sets/all/utils.rb +2 -3
  154. data/mods/standard/files/103/icon-6566.ico +0 -0
  155. data/mods/standard/files/103/large-6566.ico +0 -0
  156. data/mods/standard/files/103/medium-6566.ico +0 -0
  157. data/{public/favicon.ico → mods/standard/files/103/original-6566.ico} +0 -0
  158. data/mods/standard/files/103/small-6566.ico +0 -0
  159. data/mods/standard/files/79/icon-6556.png +0 -0
  160. data/mods/standard/files/79/large-6556.png +0 -0
  161. data/mods/standard/files/79/medium-6556.png +0 -0
  162. data/mods/standard/files/79/original-6556.png +0 -0
  163. data/mods/standard/files/79/small-6556.png +0 -0
  164. data/mods/standard/files/790/icon-6419.png +0 -0
  165. data/mods/standard/files/790/large-6419.png +0 -0
  166. data/mods/standard/files/790/medium-6419.png +0 -0
  167. data/mods/standard/files/790/original-6419.png +0 -0
  168. data/mods/standard/files/790/small-6419.png +0 -0
  169. data/mods/standard/lib/card/machine.rb +152 -0
  170. data/mods/standard/lib/card/machine_input.rb +40 -0
  171. data/{public/assets → mods/standard/lib/javascript}/html5shiv-printshiv.js +0 -0
  172. data/mods/standard/lib/javascript/jquery-ui.js +14913 -0
  173. data/mods/standard/lib/javascript/jquery.autosize.js +255 -0
  174. data/mods/standard/lib/javascript/jquery.fileupload.js +1112 -0
  175. data/mods/standard/lib/javascript/jquery.iframe-transport.js +157 -0
  176. data/mods/standard/lib/javascript/jquery.js +9473 -0
  177. data/mods/standard/lib/javascript/jquery.ui.autocomplete.html.js +41 -0
  178. data/mods/standard/lib/javascript/jquery_ujs.js +429 -0
  179. data/mods/standard/lib/javascript/jquerymobile.js +8800 -0
  180. data/mods/standard/lib/javascript/tinymce.js +13 -0
  181. data/{app/assets/javascripts → mods/standard/lib/javascript}/wagn.js.coffee +10 -0
  182. data/{app/assets/javascripts → mods/standard/lib/javascript}/wagn_menu.js +3 -12
  183. data/{app/assets/javascripts → mods/standard/lib/javascript}/wagn_mod.js.coffee +18 -11
  184. data/mods/standard/lib/stylesheets/functional.scss +13 -9
  185. data/mods/standard/lib/stylesheets/jquery-ui-smoothness.css +922 -218
  186. data/mods/standard/lib/stylesheets/standard.scss +2 -2
  187. data/mods/standard/sets/all/account.rb +18 -205
  188. data/mods/standard/sets/all/all_css.rb +2 -3
  189. data/mods/standard/sets/all/all_csv.rb +0 -1
  190. data/mods/standard/sets/all/attach.rb +0 -1
  191. data/mods/standard/sets/all/base.rb +9 -7
  192. data/mods/standard/sets/all/comment.rb +5 -5
  193. data/mods/standard/sets/all/email_html.rb +0 -2
  194. data/mods/standard/sets/all/event_viz.rb +62 -0
  195. data/mods/standard/sets/all/file.rb +0 -1
  196. data/mods/standard/sets/all/follow.rb +13 -11
  197. data/mods/standard/sets/all/history.rb +2 -7
  198. data/mods/standard/sets/all/json.rb +6 -11
  199. data/mods/standard/sets/all/rich_html.rb +68 -52
  200. data/mods/standard/sets/all/rss.rb +4 -5
  201. data/mods/standard/sets/all/text.rb +0 -1
  202. data/mods/standard/sets/right/account.rb +100 -1
  203. data/mods/standard/sets/right/create.rb +8 -2
  204. data/mods/standard/sets/right/delete.rb +2 -0
  205. data/mods/standard/sets/right/email.rb +50 -2
  206. data/mods/standard/sets/right/machine_output.rb +12 -0
  207. data/mods/standard/sets/right/password.rb +39 -0
  208. data/mods/standard/sets/right/read.rb +2 -0
  209. data/mods/standard/sets/right/salt.rb +2 -1
  210. data/mods/standard/sets/right/script.rb +10 -0
  211. data/mods/standard/sets/right/stats.rb +35 -0
  212. data/mods/standard/sets/right/status.rb +9 -0
  213. data/mods/standard/sets/right/style.rb +7 -53
  214. data/mods/standard/sets/right/{crypted_password.rb → token.rb} +2 -1
  215. data/mods/standard/sets/right/update.rb +2 -0
  216. data/mods/standard/sets/rstar/rules.rb +7 -3
  217. data/mods/standard/sets/self/account_links.rb +16 -23
  218. data/mods/standard/sets/self/alerts.rb +0 -1
  219. data/mods/standard/sets/self/all.rb +21 -0
  220. data/mods/standard/sets/self/foot.rb +0 -1
  221. data/mods/standard/sets/self/head.rb +21 -24
  222. data/mods/standard/sets/self/navbox.rb +0 -1
  223. data/mods/standard/sets/self/now.rb +0 -1
  224. data/mods/standard/sets/self/recent.rb +38 -35
  225. data/mods/standard/sets/self/script_card_menu.rb +8 -0
  226. data/mods/standard/sets/self/script_html5shiv_printshiv.rb +7 -0
  227. data/mods/standard/sets/self/script_jquery.rb +8 -0
  228. data/mods/standard/sets/self/script_jquery_helper.rb +13 -0
  229. data/mods/standard/sets/self/script_slot.rb +9 -0
  230. data/mods/standard/sets/self/script_tinymce.rb +8 -0
  231. data/mods/standard/sets/self/search.rb +0 -1
  232. data/mods/standard/sets/self/signin.rb +111 -0
  233. data/mods/standard/sets/self/stats.rb +91 -0
  234. data/mods/standard/sets/self/style_functional.rb +1 -1
  235. data/mods/standard/sets/self/style_jquery_ui_smoothness.rb +1 -1
  236. data/mods/standard/sets/self/style_standard.rb +1 -1
  237. data/mods/standard/sets/type/basic.rb +15 -14
  238. data/mods/standard/sets/type/cardtype.rb +2 -3
  239. data/mods/standard/sets/type/coffee_script.rb +46 -0
  240. data/mods/standard/sets/type/css.rb +16 -5
  241. data/mods/standard/sets/type/date.rb +0 -1
  242. data/mods/standard/sets/type/file.rb +0 -2
  243. data/mods/standard/sets/type/html.rb +0 -1
  244. data/mods/standard/sets/type/image.rb +1 -2
  245. data/mods/standard/sets/type/java_script.rb +32 -0
  246. data/mods/standard/sets/type/layout_type.rb +1 -1
  247. data/mods/standard/sets/type/number.rb +0 -1
  248. data/mods/standard/sets/type/pointer.rb +13 -8
  249. data/mods/standard/sets/type/scss.rb +17 -3
  250. data/mods/standard/sets/type/search_type.rb +36 -34
  251. data/mods/standard/sets/type/set.rb +1 -5
  252. data/mods/standard/sets/type/setting.rb +1 -2
  253. data/mods/standard/sets/type/signup.rb +92 -0
  254. data/mods/standard/sets/type/skin.rb +4 -5
  255. data/mods/standard/sets/type/toggle.rb +1 -1
  256. data/mods/standard/sets/type/user.rb +51 -4
  257. data/public/{404.html → assets/jasmine/404.html} +0 -0
  258. data/public/{500.html → assets/jasmine/500.html} +0 -0
  259. data/public/{jasmine → assets/jasmine}/card_form.html +0 -0
  260. data/public/assets/jquery-ui/animated-overlay-602eee4c79a4796b02bb6442948c9e28.gif +0 -0
  261. data/public/assets/jquery-ui/animated-overlay.gif +0 -0
  262. data/public/assets/{images → jquery-ui}/ui-bg_flat_0_aaaaaa_40x100-7d1197a52442bc56fcad60d0390f4b32.png +0 -0
  263. data/{app/assets/images/images → public/assets/jquery-ui}/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  264. data/public/assets/{images → jquery-ui}/ui-bg_flat_75_ffffff_40x100-3c4b974defa5e8bdaf8a603034c4435e.png +0 -0
  265. data/{app/assets/images/images → public/assets/jquery-ui}/ui-bg_flat_75_ffffff_40x100.png +0 -0
  266. data/public/assets/{images → jquery-ui}/ui-bg_glass_55_fbf9ee_1x400-38c2dea4d046fd3f56cc3996e2e6018b.png +0 -0
  267. data/{app/assets/images/images → public/assets/jquery-ui}/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  268. data/public/assets/{images → jquery-ui}/ui-bg_glass_65_ffffff_1x400-ddb7ee7527bff283054406c50e597e1e.png +0 -0
  269. data/{app/assets/images/images → public/assets/jquery-ui}/ui-bg_glass_65_ffffff_1x400.png +0 -0
  270. data/public/assets/{images → jquery-ui}/ui-bg_glass_75_dadada_1x400-d618461418b1ebc6b7996979f4c3dc92.png +0 -0
  271. data/{app/assets/images/images → public/assets/jquery-ui}/ui-bg_glass_75_dadada_1x400.png +0 -0
  272. data/public/assets/{images → jquery-ui}/ui-bg_glass_75_e6e6e6_1x400-48d8d545f708e5870a965ce9df8b0e38.png +0 -0
  273. data/{app/assets/images/images → public/assets/jquery-ui}/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  274. data/public/assets/{images → jquery-ui}/ui-bg_glass_95_fef1ec_1x400-f3526b8f82249928f0a6baf044204b15.png +0 -0
  275. data/{app/assets/images/images → public/assets/jquery-ui}/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  276. data/public/assets/{images → jquery-ui}/ui-bg_highlight-soft_75_cccccc_1x100-cec5c56503b8480f834c3fce35dae8df.png +0 -0
  277. data/{app/assets/images/images → public/assets/jquery-ui}/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  278. data/{app/assets/images/images/ui-icons_2e83ff_256x240.png → public/assets/jquery-ui/ui-icons_222222_256x240-b1eb177a51ea7925448318a26d988842.png} +0 -0
  279. data/{app/assets/images/images → public/assets/jquery-ui}/ui-icons_222222_256x240.png +0 -0
  280. data/{app/assets/images/images/ui-icons_454545_256x240.png → public/assets/jquery-ui/ui-icons_2e83ff_256x240-49c2da9cac2dc565265586f716491298.png} +0 -0
  281. data/public/assets/{images → jquery-ui}/ui-icons_2e83ff_256x240.png +0 -0
  282. data/{app/assets/images/images/ui-icons_888888_256x240.png → public/assets/jquery-ui/ui-icons_454545_256x240-68b2fe3268f7604fb0767a0372e2db85.png} +0 -0
  283. data/public/assets/{images → jquery-ui}/ui-icons_454545_256x240.png +0 -0
  284. data/public/assets/jquery-ui/ui-icons_888888_256x240-8040cfcc88792375b7788feb59189eef.png +0 -0
  285. data/public/assets/{images → jquery-ui}/ui-icons_888888_256x240.png +0 -0
  286. data/public/assets/jquery-ui/ui-icons_cd0a0a_256x240-d4a62216bf6f0cd0071149890763a5ff.png +0 -0
  287. data/{app/assets/images/images → public/assets/jquery-ui}/ui-icons_cd0a0a_256x240.png +0 -0
  288. data/public/assets/jquery.min-388372ef65cc311f6a3df4a6ceac8d22.map +1 -0
  289. data/public/assets/jquery.min.map +1 -1
  290. data/public/assets/manifest.yml +61 -31
  291. data/public/assets/smoothness/animated-overlay-602eee4c79a4796b02bb6442948c9e28.gif +0 -0
  292. data/public/assets/smoothness/animated-overlay.gif +0 -0
  293. data/public/assets/smoothness/ui-bg_flat_0_aaaaaa_40x100-31613497e63975a54520b7065b125dea.png +0 -0
  294. data/public/assets/smoothness/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  295. data/public/assets/smoothness/ui-bg_flat_75_ffffff_40x100-f4b0e20e6f4c83b9f52cf062ed0f5284.png +0 -0
  296. data/public/assets/smoothness/ui-bg_flat_75_ffffff_40x100.png +0 -0
  297. data/public/assets/smoothness/ui-bg_glass_55_fbf9ee_1x400-e3606d6e7ad67486ffdc83edca64d4c5.png +0 -0
  298. data/public/assets/smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  299. data/public/assets/smoothness/ui-bg_glass_65_ffffff_1x400-dcec96932b90ff4cd4fea91284a6e9a3.png +0 -0
  300. data/public/assets/smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  301. data/public/assets/smoothness/ui-bg_glass_75_dadada_1x400-a2310f533684ede4f1216d7299b5cd58.png +0 -0
  302. data/public/assets/smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
  303. data/public/assets/smoothness/ui-bg_glass_75_e6e6e6_1x400-d872f3a0a02dea609e4b0321520236d9.png +0 -0
  304. data/public/assets/smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  305. data/public/assets/smoothness/ui-bg_glass_95_fef1ec_1x400-9ccaed8a65a3c285c16a73bdf03a69b3.png +0 -0
  306. data/public/assets/smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  307. data/public/assets/smoothness/ui-bg_highlight-soft_75_cccccc_1x100-2ef1d227b5c0f33ce3c5e45afa953991.png +0 -0
  308. data/public/assets/smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  309. data/public/assets/smoothness/ui-icons_222222_256x240-0675a996f0bdc78890f7b312c543b06a.png +0 -0
  310. data/public/assets/smoothness/ui-icons_222222_256x240.png +0 -0
  311. data/public/assets/smoothness/ui-icons_2e83ff_256x240-6aea736f81a417977efd77f183519a54.png +0 -0
  312. data/public/assets/smoothness/ui-icons_2e83ff_256x240.png +0 -0
  313. data/public/assets/smoothness/ui-icons_454545_256x240-6f4361f45745fb0cd7b0cc2851dc1cc3.png +0 -0
  314. data/public/assets/smoothness/ui-icons_454545_256x240.png +0 -0
  315. data/public/assets/smoothness/ui-icons_888888_256x240-8f6818bd8631ba3489de718e26c7e6cf.png +0 -0
  316. data/public/assets/smoothness/ui-icons_888888_256x240.png +0 -0
  317. data/public/assets/smoothness/ui-icons_cd0a0a_256x240-2969ddba6d0a9c62603a4aa85a363cda.png +0 -0
  318. data/public/assets/smoothness/ui-icons_cd0a0a_256x240.png +0 -0
  319. data/spec/controllers/card_controller_spec.rb +77 -61
  320. data/spec/controllers/location_spec.rb +3 -2
  321. data/spec/lib/card/auth_spec.rb +17 -0
  322. data/spec/lib/card/chunk_spec.rb +0 -1
  323. data/spec/lib/card/codename_spec.rb +12 -18
  324. data/spec/lib/card/content_spec.rb +0 -1
  325. data/spec/lib/card/diff_spec.rb +0 -1
  326. data/spec/lib/card/flexmail_spec.rb +19 -20
  327. data/spec/lib/card/format_spec.rb +0 -169
  328. data/spec/lib/{wagn → card}/loader_spec.rb +1 -2
  329. data/spec/lib/card/name_spec.rb +3 -5
  330. data/spec/lib/card/query_spec.rb +5 -8
  331. data/spec/{models → lib}/card/reference_spec.rb +6 -7
  332. data/spec/lib/card/revision_spec.rb +30 -0
  333. data/spec/lib/card/set_pattern_spec.rb +0 -1
  334. data/spec/lib/card/set_spec.rb +9 -9
  335. data/spec/lib/wagn/cache_spec.rb +0 -1
  336. data/spec/mailers/mailer_spec.rb +4 -9
  337. data/spec/models/card/cardtype_spec.rb +12 -14
  338. data/spec/models/card/create_spec.rb +3 -4
  339. data/spec/models/card/trash_spec.rb +24 -23
  340. data/spec/models/card/type_transition_spec.rb +3 -4
  341. data/spec/models/card/validation_spec.rb +0 -1
  342. data/spec/models/card_spec.rb +10 -11
  343. data/spec/mods/core/chunks/literal_spec.rb +0 -1
  344. data/spec/mods/core/chunks/uri_spec.rb +0 -1
  345. data/spec/mods/core/formats/data_format_spec.rb +0 -1
  346. data/spec/mods/core/formats/html_format_spec.rb +17 -18
  347. data/spec/mods/core/formats/text_format_spec.rb +0 -1
  348. data/spec/mods/core/sets/all/active_card_spec.rb +1 -2
  349. data/spec/mods/core/sets/all/attribute_tracking_spec.rb +1 -2
  350. data/spec/mods/core/sets/all/collection_spec.rb +1 -5
  351. data/spec/mods/core/sets/all/content_spec.rb +0 -1
  352. data/spec/mods/core/sets/all/fetch_spec.rb +7 -10
  353. data/spec/mods/core/sets/all/initialize_spec.rb +0 -1
  354. data/spec/mods/core/sets/all/name_spec.rb +34 -3
  355. data/spec/mods/core/sets/all/pattern_spec.rb +6 -9
  356. data/spec/mods/core/sets/all/permissions_spec.rb +61 -62
  357. data/spec/mods/core/sets/all/phases_spec.rb +1 -2
  358. data/spec/mods/core/sets/all/references_spec.rb +0 -1
  359. data/spec/mods/core/sets/all/rules2_spec.rb +31 -31
  360. data/spec/mods/core/sets/all/rules_spec.rb +3 -4
  361. data/spec/mods/core/sets/all/states_spec.rb +1 -2
  362. data/spec/mods/core/sets/all/templating_spec.rb +11 -12
  363. data/spec/mods/core/sets/all/tracked_attributes_spec.rb +18 -8
  364. data/spec/mods/core/sets/all/trash_spec.rb +1 -2
  365. data/spec/mods/core/sets/all/type_spec.rb +6 -5
  366. data/spec/mods/core/sets/all/utils_spec.rb +1 -2
  367. data/spec/mods/standard/chunks/include_spec.rb +14 -15
  368. data/spec/mods/standard/chunks/link_spec.rb +0 -1
  369. data/spec/mods/standard/formats/css_format_spec.rb +1 -2
  370. data/spec/mods/standard/formats/csv_format_spec.rb +0 -1
  371. data/spec/mods/standard/formats/email_html_format_spec.rb +1 -2
  372. data/spec/mods/standard/formats/file_format_spec.rb +0 -1
  373. data/spec/mods/standard/formats/js_format_spec.rb +3 -0
  374. data/spec/mods/standard/formats/json_format_spec.rb +0 -1
  375. data/spec/mods/standard/formats/rss_format_spec.rb +1 -2
  376. data/spec/mods/standard/formats/xml_format_spec.rb +0 -1
  377. data/spec/mods/standard/lib/machine_input_spec.rb +48 -0
  378. data/spec/mods/standard/lib/machine_spec.rb +110 -0
  379. data/spec/mods/standard/sets/all/account_spec.rb +50 -30
  380. data/spec/mods/standard/sets/all/all_css_spec.rb +0 -1
  381. data/spec/mods/standard/sets/all/all_csv_spec.rb +0 -1
  382. data/spec/mods/standard/sets/all/attach_spec.rb +0 -1
  383. data/spec/mods/standard/sets/all/base_spec.rb +5 -6
  384. data/spec/mods/standard/sets/all/comment_spec.rb +5 -0
  385. data/spec/mods/standard/sets/all/email_html_spec.rb +2 -3
  386. data/spec/mods/standard/sets/all/event_viz_spec.rb +7 -0
  387. data/spec/mods/standard/sets/all/file_spec.rb +0 -1
  388. data/spec/mods/standard/sets/all/flexmail_spec.rb +0 -1
  389. data/spec/mods/standard/sets/all/follow_spec.rb +10 -11
  390. data/spec/mods/standard/sets/all/history_spec.rb +10 -0
  391. data/spec/mods/standard/sets/all/json_spec.rb +5 -6
  392. data/spec/mods/standard/sets/all/rich_html_spec.rb +16 -13
  393. data/spec/mods/standard/sets/all/rss_spec.rb +4 -2
  394. data/spec/mods/standard/sets/all/text_spec.rb +1 -2
  395. data/spec/mods/standard/sets/right/account_spec.rb +86 -2
  396. data/spec/mods/standard/sets/right/add_help_spec.rb +0 -1
  397. data/spec/mods/standard/sets/right/comment_spec.rb +37 -2
  398. data/spec/mods/standard/sets/right/create_spec.rb +6 -2
  399. data/spec/mods/standard/sets/right/default_spec.rb +0 -1
  400. data/spec/mods/standard/sets/right/delete_spec.rb +0 -1
  401. data/spec/mods/standard/sets/right/email_spec.rb +43 -15
  402. data/spec/mods/standard/sets/right/help_spec.rb +0 -1
  403. data/spec/mods/standard/sets/right/machine_output_spec.rb +20 -0
  404. data/spec/mods/standard/sets/right/password_spec.rb +45 -0
  405. data/spec/mods/standard/sets/right/read_spec.rb +0 -1
  406. data/spec/mods/standard/sets/right/salt_spec.rb +0 -1
  407. data/spec/mods/standard/sets/right/script_spec.rb +20 -0
  408. data/spec/mods/standard/sets/right/stats_spec.rb +13 -0
  409. data/spec/mods/standard/sets/right/status_spec.rb +5 -0
  410. data/spec/mods/standard/sets/right/structure_spec.rb +2 -3
  411. data/spec/mods/standard/sets/right/style_spec.rb +19 -2
  412. data/spec/mods/standard/sets/right/token_spec.rb +5 -0
  413. data/spec/mods/standard/sets/right/update_spec.rb +0 -1
  414. data/spec/mods/standard/sets/right/when_created_spec.rb +0 -1
  415. data/spec/mods/standard/sets/right/when_last_edited_spec.rb +0 -1
  416. data/spec/mods/standard/sets/rstar/rules_spec.rb +3 -4
  417. data/spec/mods/standard/sets/self/account_links_spec.rb +0 -1
  418. data/spec/mods/standard/sets/self/alerts_spec.rb +0 -1
  419. data/spec/mods/standard/sets/self/all_spec.rb +47 -0
  420. data/spec/mods/standard/sets/self/foot_spec.rb +0 -1
  421. data/spec/mods/standard/sets/self/head_spec.rb +0 -1
  422. data/spec/mods/standard/sets/self/navbox_spec.rb +0 -1
  423. data/spec/mods/standard/sets/self/now_spec.rb +0 -1
  424. data/spec/mods/standard/sets/self/recent_spec.rb +1 -2
  425. data/spec/mods/standard/sets/self/search_spec.rb +1 -2
  426. data/spec/mods/standard/sets/self/signin_spec.rb +73 -0
  427. data/spec/mods/standard/sets/self/stats_spec.rb +12 -0
  428. data/spec/mods/standard/sets/self/style_functional_spec.rb +1 -2
  429. data/spec/mods/standard/sets/self/style_jquery_ui_smoothness_spec.rb +1 -2
  430. data/spec/mods/standard/sets/self/style_standard_spec.rb +1 -2
  431. data/spec/mods/standard/sets/self/version_spec.rb +0 -1
  432. data/spec/mods/standard/sets/type/basic_spec.rb +1 -2
  433. data/spec/mods/standard/sets/type/cardtype_spec.rb +1 -2
  434. data/spec/mods/standard/sets/type/coffeescript_spec.rb +28 -0
  435. data/spec/mods/standard/sets/type/css_spec.rb +31 -4
  436. data/spec/mods/standard/sets/type/date_spec.rb +0 -1
  437. data/spec/mods/standard/sets/type/file_spec.rb +1 -2
  438. data/spec/mods/standard/sets/type/html_spec.rb +3 -4
  439. data/spec/mods/standard/sets/type/image_spec.rb +1 -2
  440. data/spec/mods/standard/sets/type/javascript_spec.rb +28 -0
  441. data/spec/mods/standard/sets/type/layout_type_spec.rb +0 -1
  442. data/spec/mods/standard/sets/type/number_spec.rb +0 -1
  443. data/spec/mods/standard/sets/type/phrase_spec.rb +0 -1
  444. data/spec/mods/standard/sets/type/plain_text_spec.rb +0 -1
  445. data/spec/mods/standard/sets/type/pointer_spec.rb +1 -2
  446. data/spec/mods/standard/sets/type/scss_spec.rb +47 -2
  447. data/spec/mods/standard/sets/type/search_type_spec.rb +14 -3
  448. data/spec/mods/standard/sets/type/set_spec.rb +0 -1
  449. data/spec/mods/standard/sets/type/setting_spec.rb +6 -2
  450. data/spec/mods/standard/sets/type/signup_spec.rb +93 -0
  451. data/spec/mods/standard/sets/type/skin_spec.rb +23 -2
  452. data/spec/mods/standard/sets/type/toggle_spec.rb +0 -1
  453. data/spec/mods/standard/sets/type/user_spec.rb +1 -2
  454. data/{lib/wagn → spec}/spec_helper.rb +59 -14
  455. data/test/1.10.0-data-dump.sql +327 -0
  456. data/test/fixtures/card_references.yml +777 -581
  457. data/test/fixtures/card_revisions.yml +2737 -2488
  458. data/test/fixtures/cards.yml +4037 -2184
  459. data/test/performance/card_create_test.rb +1 -1
  460. data/test/performance/render_test.rb +1 -1
  461. data/test/seed.rb +36 -63
  462. data/test/test_helper.rb +1 -1
  463. data/wagn.gemspec +9 -9
  464. metadata +257 -237
  465. data/app/assets/javascripts/html5shiv-printshiv.js +0 -499
  466. data/app/controllers/account_controller.rb +0 -61
  467. data/app/controllers/admin_controller.rb +0 -124
  468. data/app/controllers/stub_card_controller.rb +0 -9
  469. data/app/controllers/wagn_controller.rb +0 -165
  470. data/app/mailers/mailer.rb +0 -109
  471. data/app/models/.gitkeep +0 -0
  472. data/app/models/account.rb +0 -198
  473. data/app/models/user.rb +0 -123
  474. data/app/views/mailer/account_info.text.erb +0 -17
  475. data/config/initializers/backtrace_silencers.rb +0 -8
  476. data/config/initializers/schema_views.rb +0 -59
  477. data/config/initializers/wrap_parameters.rb +0 -15
  478. data/config/samples/database.yml.erb +0 -34
  479. data/db/bootstrap/users.yml +0 -29
  480. data/features/account_requests.feature +0 -22
  481. data/features/google_maps.feature +0 -31
  482. data/features/hello_wagn.feature +0 -31
  483. data/features/step_definitions/notification_steps.rb +0 -23
  484. data/features/templates.feature +0 -30
  485. data/features/virtual_cards.feature +0 -11
  486. data/lib/active_record/foreign_keys.rb +0 -80
  487. data/lib/card/constant.rb +0 -20
  488. data/lib/generators/set/templates/set_template.erb +0 -1
  489. data/lib/tasks/.gitkeep +0 -0
  490. data/lib/wagn/authenticated_system.rb +0 -38
  491. data/lib/wagn/env.rb +0 -42
  492. data/lib/wagn/loader.rb +0 -135
  493. data/mods/standard/formats/kml_format.rb +0 -6
  494. data/mods/standard/lib/google_maps_addon.rb +0 -30
  495. data/mods/standard/sets/all/admin.rb +0 -53
  496. data/mods/standard/sets/all/geocode.rb +0 -16
  497. data/mods/standard/sets/all/kml.rb +0 -49
  498. data/mods/standard/sets/type/account_request.rb +0 -74
  499. data/mods/standard/sets/type/ruby_and_script.rb +0 -31
  500. data/public/assets/application-058913c45d4f3262667bad443a03eb45.js +0 -144
  501. data/public/assets/application-058913c45d4f3262667bad443a03eb45.js.gz +0 -0
  502. data/public/assets/application.js +0 -144
  503. data/public/assets/application.js.gz +0 -0
  504. data/public/assets/html5shiv-printshiv-ad36fc7219f4aeaa275f9a7fe2383413.js +0 -1
  505. data/public/assets/html5shiv-printshiv-ad36fc7219f4aeaa275f9a7fe2383413.js.gz +0 -0
  506. data/public/assets/html5shiv-printshiv.js.gz +0 -0
  507. data/public/assets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  508. data/public/assets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  509. data/public/assets/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  510. data/public/assets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  511. data/public/assets/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  512. data/public/assets/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  513. data/public/assets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  514. data/public/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  515. data/public/assets/images/ui-icons_222222_256x240-66e635a2f90b9f90675d402617630b24.png +0 -0
  516. data/public/assets/images/ui-icons_222222_256x240.png +0 -0
  517. data/public/assets/images/ui-icons_2e83ff_256x240-2ea4c160a75c1992daa2eeac86255b99.png +0 -0
  518. data/public/assets/images/ui-icons_454545_256x240-5c7f12676bcead9cb2d4cb8f23f16e95.png +0 -0
  519. data/public/assets/images/ui-icons_888888_256x240-95fd3047e1f7325d995a21c729b04125.png +0 -0
  520. data/public/assets/images/ui-icons_cd0a0a_256x240-c0c1ec6a8bcf48fec40303e975a4dfa6.png +0 -0
  521. data/public/assets/images/ui-icons_cd0a0a_256x240.png +0 -0
  522. data/public/assets/jquery.min-8b58c0fbf303b938d8e749262f7e50dd.map +0 -1
  523. data/public/assets/tinymce-22b5a139d9ff7df7643afae9ce205508.js +0 -13
  524. data/public/assets/tinymce-22b5a139d9ff7df7643afae9ce205508.js.gz +0 -0
  525. data/public/assets/tinymce.js +0 -13
  526. data/public/assets/tinymce.js.gz +0 -0
  527. data/spec/controllers/account_controller_spec.rb +0 -42
  528. data/spec/controllers/admin_controller_spec.rb +0 -23
  529. data/spec/controllers/captcha_spec.rb +0 -103
  530. data/spec/controllers/sets_spec.rb +0 -97
  531. data/spec/controllers/wagn_controller_spec.rb +0 -5
  532. data/spec/mailers/account_spec.rb +0 -66
  533. data/spec/models/account_spec.rb +0 -19
  534. data/spec/models/card/comment_spec.rb +0 -38
  535. data/spec/models/card/revision_spec.rb +0 -58
  536. data/spec/models/user_spec.rb +0 -95
  537. data/spec/mods/standard/formats/kml_format_spec.rb +0 -6
  538. data/spec/mods/standard/sets/all/admin_spec.rb +0 -6
  539. data/spec/mods/standard/sets/all/geocode_spec.rb +0 -37
  540. data/spec/mods/standard/sets/all/kml_spec.rb +0 -6
  541. data/spec/mods/standard/sets/right/crypted_password_spec.rb +0 -6
  542. data/spec/mods/standard/sets/type/account_request_spec.rb +0 -160
  543. data/spec/mods/standard/sets/type/ruby_and_script_spec.rb +0 -6
  544. data/spec/spec.opts +0 -6
  545. data/test/fixtures/users.yml +0 -169
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- M2MwMjdiNzgxZWM1NjdiYjYzZTU5ODM3Y2FjZGQyYzA0NmZlYWJiMw==
5
- data.tar.gz: !binary |-
6
- NzY4ZTIzNGRmY2I2NzRkY2I1MTBmMWU1ODQwZmFkNTIxZjhiYjA3Nw==
2
+ SHA1:
3
+ metadata.gz: 2a79901a7f79f2ad216070d49400f1174b2292d3
4
+ data.tar.gz: 16c50452dbe4a8c2ee279b95885ea5791f98a833
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- OTA1YjIzMzkyYTRkNmM1ZThhNzk3NWE2MmUxOGNiZDcwODI0MDFlMWZkMTA0
10
- ZDBkM2FmMjM1MWZlYTBmZjgzZmQ3ZTA1ODAwM2ZlZDNhMzYxZWU0NWE0MzY5
11
- MjFmYmIxODYxNmQzMTM4YzFlMjgxZmM0ZmZmYjYzODkyMTBkOTM=
12
- data.tar.gz: !binary |-
13
- N2E1OGViN2IwYTA2NmUzNzI2ZWRiYjNkOGIwNjk5ZGQ3NTUxZjUwZTRiZWRm
14
- OTc1ZjdhNWFjMjAyMjYxZDkzYTEzMjQxYzkxNTdjNjE1N2ViZmRhMDNkNGZh
15
- MTExOGViNTRlN2JhZjBhNjVhZWEyODViOWFlMzExMjQwMTM2ZWQ=
6
+ metadata.gz: a8b0fd27ed1dc1a774d3fab0a1e08f4bcf347bf596fb31bf67c39f435f8442cf6aa5f57b62005bc8d499283f1c23a28f867bbe4c33c13b17739e3a710314f6e0
7
+ data.tar.gz: a891eb947800d1101b2a608fa734b8cca8b866cf21a5aee312872b5e3b9490c36468ac715c1501ebe708937540be2cb0f24e2bd89e32ea03962d925e02f7c1f6
data/.gitignore CHANGED
@@ -4,18 +4,17 @@
4
4
  .bundle
5
5
  Gemfile.lock
6
6
  config/*.yml
7
- config/wagn.rb
8
7
  coverage
9
- files
8
+ /files
10
9
  log/*
11
10
  pkg
12
- public/test
13
- public/files
14
- public/assets/.htaccess
15
- public/javascripts/inline-console.js
11
+ /public/test
12
+ /public/files
13
+ /public/assets/.htaccess
14
+ /public/javascripts/inline-console.js
16
15
  local*
17
- script/local
18
- script/performance/*.session
16
+ /script/local
17
+ /script/performance/*.session
19
18
  tmp/*
20
19
  wagn*gem
21
20
  *.project
data/.rspec CHANGED
@@ -1,4 +1,4 @@
1
1
  --color
2
2
  --profile
3
3
  --backtrace
4
-
4
+ --require spec_helper
@@ -0,0 +1,23 @@
1
+
2
+ unless ENV['COVERAGE'] == 'false'
3
+
4
+ SimpleCov.start do
5
+ add_filter '/spec/'
6
+ add_filter '/features/'
7
+ add_filter '/config/'
8
+ add_filter '/tasks/'
9
+ add_filter '/generators/'
10
+ add_filter 'lib/wagn'
11
+
12
+ add_group 'Card', 'lib/card'
13
+ add_group 'Set Patterns', 'tmp/set_patterns'
14
+ add_group 'Sets', 'tmp/sets'
15
+ add_group 'Formats' do |src_file|
16
+ src_file.filename =~ /mods\/[^\/]+\/formats/
17
+ end
18
+ add_group 'Chunks' do |src_file|
19
+ src_file.filename =~ /mods\/[^\/]+\/chunks/
20
+ end
21
+ end
22
+
23
+ end
@@ -0,0 +1 @@
1
+ excludeInFolderSearch = "{$excludeInFolderSearch,coverage,files,log,public,tmp}"
data/Gemfile CHANGED
@@ -14,7 +14,8 @@ group :assets do
14
14
  gem 'coffee-rails', "~> 3.1" # pretty code; compiles to JS
15
15
  gem 'uglifier' # makes pretty code ugly again. compresses js/css for fast loading
16
16
 
17
- gem 'jquery-rails', '~> 2.3' # main js framework, along with rails-specific unobtrusive lib
17
+ gem 'jquery-rails', '~> 3.1' # main js framework, along with rails-specific unobtrusive lib
18
+ gem 'jquery-ui-rails', '~> 4.2' # main js framework, along with rails-specific unobtrusive lib
18
19
  gem "jquery_mobile_rails", "~> 1.4.1"
19
20
 
20
21
  gem 'tinymce-rails', '~> 3.4' # wysiwyg editor
@@ -27,12 +28,18 @@ end
27
28
 
28
29
  group :test do
29
30
 
30
- # execjs is necessary for developing coffeescript. mac users have execjs built-in; don't need this one
31
- gem 'therubyrhino', :platform=>:ruby # :ruby is MRI rubies, so if you use a mac ruby ...
32
31
 
33
- gem 'rails-dev-tweaks', '~> 0.6' # dramatic speeds up asset loading, among other tweaks
32
+ gem 'simplecov', '~> 0.7.1', :require => false #test coverage
33
+
34
+ # SPECS see spec dir
34
35
  gem 'rspec-rails', "~> 2.6" # behavior-driven-development suite
35
36
 
37
+ gem 'guard-rspec', '~> 4.2' # trigger test runs based on file edits
38
+ if RUBY_PLATFORM =~ /darwin/
39
+ gem 'terminal-notifier-guard', '~> 1.5' # use growler notifications on macs
40
+ end
41
+
42
+ # CUKES see features dir
36
43
  gem 'cucumber-rails', '~> 1.3', :require=>false # feature-driven-development suite
37
44
  gem 'capybara', '~> 2.2.1' # note, selectors were breaking when we used 2.0.1
38
45
  gem 'selenium-webdriver', '~> 2.39'
@@ -52,6 +59,8 @@ group :test do
52
59
  gem 'turn', "~>0.8.3", :require => false # Pretty printed test output. (version constraint is to avoid minitest requirement)
53
60
  gem 'minitest', "~>4.0"
54
61
 
62
+
63
+
55
64
  #windows stuff
56
65
  gem 'win32console', '~> 1.3', :platforms => ['mingw', 'mswin']
57
66
  gem 'win32-process', '~> 0.6', :platforms => ['mingw', 'mswin']
@@ -60,15 +69,8 @@ end
60
69
  gem 'ruby-prof', '~>0.12.1', :group=>:profile # profiling
61
70
 
62
71
  group :debug do
63
- case RUBY_VERSION
64
- when /^1\.9\.3-p0/
65
- gem 'linecache19', '~>0.5.13'
66
- gem 'ruby-debug-base19x', '~> 0.11.30.pre4'
67
- when /^1\.9/
68
- gem 'ruby-debug19', :require => 'ruby-debug'
69
- when /^1\.8/
70
- gem 'ruby-debug'
71
- end
72
+ gem 'byebug' if RUBY_VERSION =~ /^2/
73
+ gem 'debugger'
72
74
  end
73
75
 
74
76
 
@@ -0,0 +1,34 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ #guard :rspec, cmd: 'bundle exec env COVERAGE=false rspec' do
5
+ guard :rspec, cmd: 'bundle exec rspec' do
6
+
7
+ watch(%r{^spec/.+_spec\.rb$})
8
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
9
+ watch('spec/spec_helper.rb') { "spec" }
10
+
11
+ # Rails example
12
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
13
+ # watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
14
+ # watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
15
+
16
+ # watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
17
+ # watch('config/routes.rb') { "spec/routing" }
18
+ # watch('app/controllers/application_controller.rb') { "spec/controllers" }
19
+
20
+ # Capybara features specs
21
+ # watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
22
+
23
+ # Wagn mods
24
+ watch(%r{mods/(.+)\.rb}) { |m| "spec/mods/#{m[1]}_spec.rb" }
25
+
26
+
27
+ # Turnip features and steps
28
+ # watch(%r{^spec/acceptance/(.+)\.feature$})
29
+ # watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
30
+
31
+ #callback(:start_begin) { puts "guard-rspec is watching ..." }
32
+ #callback(:run_on_modifications_begin) { puts "<script>document.body.innerHTML = '';</script>" } # use js to clear textmate's html view
33
+ end
34
+
@@ -1,9 +1,5 @@
1
1
  =Wagn: how pioneers roll
2
2
 
3
- ==READ ME FIRST!
4
-
5
- This gem is brand new and is EXPERIMENTAL. If you're curious to play around, feel free! But if you want to host a production site, try the documentation at http://wagn.org/get_started
6
-
7
3
  ==Basics
8
4
 
9
5
  Wagn is an open web platform for building coherent web systems.
@@ -17,8 +13,6 @@ Bundler[http://gembundler.com/]:: version 1.0 or higher
17
13
  ImageMagick[http://www.imagemagick.org/]::
18
14
  A database engine:: Either MySQL[http://www.mysql.com/] or PostgreSQL[http://www.postgresql.org/]
19
15
 
20
- Platform-specific details at: http://www.wagn.org/wagn/installation_1_8+Platform_Notes
21
-
22
16
 
23
17
  ==Installation
24
18
 
@@ -87,10 +81,10 @@ First check the Wagn version of your existing site.
87
81
  ====Version 1.10 or newer
88
82
 
89
83
  1. Create a new Wagn app using steps 1 and 2 from the installation section above.
90
- 2. copy config/database.yml from the old site to the new one.
91
- 3. copy the old local/files contents to the new files directory
92
- 4. if you have edited wagn.yml in your old site, make the corresponding changes to the new config/application.rb file.
93
- 5. Follow the standard upgrade procedure above
84
+ 2. Copy config/database.yml from the old site to the new one.
85
+ 3. Copy the old local/files contents to the new files directory.
86
+ 4. If you have edited wagn.yml in your old site, make the corresponding changes to the new config/application.rb file.
87
+ 5. Follow the standard upgrade procedure above.
94
88
 
95
89
  ====Older than Version 1.10
96
90
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.12.13
1
+ 1.13.0.pre
@@ -5,17 +5,18 @@
5
5
  // the compiled file.
6
6
  //
7
7
  //= require jquery
8
- //= require jquery-ui
8
+ //= require tinymce
9
+
10
+ //= !require jquery.mobile
11
+ /* jquery.mobile must be after wagn to avoid mobileinit nastiness */
12
+ //= require jquery.ui.all
13
+ /* jquery.ui.all must be after jquery.mobile to override dialog weirdness */
14
+ //= require jquery.ui.autocomplete.html.js
15
+ /* this autocomplete must be after jquery.ui stuff */
16
+ //= require jquery.autosize
9
17
  //= require jquery.fileupload.js
10
18
  //= require jquery.iframe-transport.js
11
- //= require jquery.ui.autocomplete.html.js
12
19
  //= require jquery_ujs
13
- //= require jquery.autosize
14
- //= require tinymce
15
- //= require wagn_mod
16
- //= require wagn
17
- //= require wagn_menu
18
- //= require jquery.mobile
19
20
 
20
21
  /*
21
22
  Note: I attempted to get tinymce up with tinymce-jquery,
@@ -37,4 +37,4 @@ $.extend( proto, {
37
37
  }
38
38
  });
39
39
 
40
- })( jQuery );
40
+ })( jQuery );
@@ -1,9 +1,21 @@
1
1
  # -*- encoding : utf-8 -*-
2
- class CardController < WagnController
3
2
 
3
+ require_dependency 'card'
4
+
5
+ class CardController < ActionController::Base
6
+
7
+ include Wagn::Location
8
+ include Recaptcha::Verify
9
+
10
+ before_filter :per_request_setup, :except => [:asset]
4
11
  before_filter :load_id, :only => [ :read ]
5
- before_filter :load_card
12
+ before_filter :load_card, :except => [:asset]
6
13
  before_filter :refresh_card, :only=> [ :create, :update, :delete, :rollback ]
14
+
15
+ layout nil
16
+
17
+ attr_reader :card
18
+
7
19
 
8
20
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9
21
  # CORE METHODS
@@ -26,7 +38,12 @@ class CardController < WagnController
26
38
  params[:success] ||= 'REDIRECT: *previous'
27
39
  handle { card.delete }
28
40
  end
29
-
41
+
42
+ def asset
43
+ Rails.logger.info "Routing assets through Wagn. Recommend symlink from Deck to Wagn gem using 'rake wagn:update_assets_symlink'"
44
+ send_file_inside Wagn.paths['gem-assets'].existent.first, [ params[:filename], params[:format] ].join('.'), :x_sendfile => true
45
+ end
46
+
30
47
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31
48
  ## the following methods need to be merged into #update
32
49
 
@@ -48,7 +65,7 @@ class CardController < WagnController
48
65
  def watch
49
66
  watchers = card.fetch :trait=>:watchers, :new=>{}
50
67
  watchers = watchers.refresh
51
- myname = Account.current.name
68
+ myname = Card::Auth.current.name
52
69
  watchers.send((params[:toggle]=='on' ? :add_item : :drop_item), myname)
53
70
  watchers.save!
54
71
  ajax? ? show(:watch) : read
@@ -60,19 +77,31 @@ class CardController < WagnController
60
77
 
61
78
  private
62
79
 
80
+ # make sure that filenname doesn't leave allowed_path using ".."
81
+ def send_file_inside(allowed_path, filename, options = {})
82
+ if filename.include? "../"
83
+ raise Wagn::BadAddress
84
+ else
85
+ send_file File.join(allowed_path, filename), options
86
+ end
87
+ end
63
88
 
64
89
  #-------( FILTERS )
65
90
 
66
- def refresh_card
67
- @card = card.refresh
91
+ def per_request_setup
92
+ request.format = :html if !params[:format] #is this used??
93
+ Wagn::Cache.renew
94
+ Card::Env.reset :controller=>self
95
+ Card::Auth.set_current_from_session
68
96
  end
69
97
 
70
- def load_id
71
- params[:id] = case
72
- when params[:id]
73
- params[:id]
74
- when Account.no_logins?
75
- return wagn_redirect( 'admin/setup' )
98
+
99
+ def load_id
100
+ params[:id] ||= case
101
+ when Card::Auth.needs_setup?
102
+ params[:card] = { :type_id => Card.default_accounted_type_id }
103
+ params[:view] = 'setup'
104
+ ''
76
105
  when params[:card] && params[:card][:name]
77
106
  params[:card][:name]
78
107
  when Card::Format.tagged( params[:view], :unknown_ok )
@@ -89,36 +118,174 @@ class CardController < WagnController
89
118
  @card = case params[:id]
90
119
  when '*previous'
91
120
  return wagn_redirect( previous_location )
92
- when /^\~(\d+)$/
121
+ when /^\~(\d+)$/ # get by id
93
122
  Card.fetch( $1.to_i ) or raise Wagn::NotFound
94
- when /^\:(\w+)$/
123
+ when /^\:(\w+)$/ # get by codename
95
124
  Card.fetch $1.to_sym
96
- else
97
- opts = params[:card]
98
- opts = opts ? opts.clone : {} #clone so that original params remain unaltered. need deeper clone?
99
- opts[:type] ||= params[:type] if params[:type]# for /new/:type shortcut. we should fix and deprecate this.
100
- name = params[:id] || opts[:name]
125
+ else # get by name
126
+ opts = params[:card] ? params[:card].clone : {} # clone so that original params remain unaltered. need deeper clone?
127
+ opts[:type] ||= params[:type] if params[:type] # for /new/:type shortcut. we should fix and deprecate this.
128
+ opts[:name] ||= params[:id].to_s.gsub( '_', ' ') # move handling to Card::Name?
101
129
 
102
130
  if params[:action] == 'create'
103
131
  # FIXME we currently need a "new" card to catch duplicates (otherwise #save will just act like a normal update)
104
132
  # I think we may need to create a "#create" instance method that handles this checking.
105
133
  # that would let us get rid of this...
106
- opts[:name] ||= name
107
134
  Card.new opts
108
135
  else
109
- Card.fetch name, :new=>opts
136
+ mark = params[:id] || opts[:name]
137
+ Card.fetch mark, :new=>opts
110
138
  end
111
139
  end
112
140
  @card.selected_revision_id = params[:rev].to_i if params[:rev]
113
141
 
114
- Wagn::Env[:main_name] = params[:main] || (card && card.name) || ''
142
+ Card::Env[:main_name] = params[:main] || (card && card.name) || ''
115
143
  render_errors if card.errors.any?
116
144
  true
117
145
  end
118
146
 
147
+ def refresh_card
148
+ @card = card.refresh
149
+ end
150
+
151
+
152
+ protected
153
+
154
+ def ajax?
155
+ Card::Env.ajax?
156
+ end
157
+
158
+ def html?
159
+ [nil, 'html'].member?(params[:format])
160
+ end
161
+
162
+ # ----------( rendering methods ) -------------
163
+
164
+ def wagn_redirect url
165
+ url = wagn_url url #make sure we have absolute url
166
+ if ajax?
167
+ # lets client reset window location (not just receive redirected response)
168
+ # formerly used 303 response, but that gave IE the fits
169
+ render :json => {:redirect=> url}
170
+ else
171
+ redirect_to url
172
+ end
173
+ end
174
+
175
+ def handle
176
+ yield ? success : render_errors
177
+ end
178
+
179
+
180
+ def success
181
+ redirect, new_params = !ajax?, {}
182
+
183
+ target = case params[:success]
184
+ when Hash
185
+ new_params = params[:success]
186
+ redirect ||= !!(new_params.delete :redirect)
187
+ new_params.delete :id
188
+ when /^REDIRECT:\s*(.+)/
189
+ redirect=true
190
+ $1
191
+ when nil ; '_self'
192
+ else ; params[:success]
193
+ end
194
+
195
+ target = case target
196
+ when '*previous' ; previous_location #could do as *previous
197
+ when /^(http|\/)/ ; target
198
+ when /^TEXT:\s*(.+)/ ; $1
199
+ when '' ; ''
200
+ else ; Card.fetch target.to_name.to_absolute(card.cardname), :new=>{}
201
+ end
202
+
203
+ case
204
+ when redirect
205
+ target = page_path target.cardname, new_params if Card === target
206
+ wagn_redirect target
207
+ when String===target
208
+ render :text => target
209
+ else
210
+ @card = target
211
+ self.params = self.params.merge new_params #need tests. insure we get slot, main...
212
+ show
213
+ end
214
+ end
215
+
216
+
217
+ def render_errors
218
+ #fixme - should prioritize certain error classes
219
+ code = nil
220
+ card.errors.each do |key, msg|
221
+ break if code = Card.error_codes[ key ]
222
+ end
223
+ view, status = code || [ :errors, 422]
224
+ show view, status
225
+ end
226
+
227
+
228
+
229
+ def show view = nil, status = 200
230
+ format = request.parameters[:format]
231
+ format = :file if params[:explicit_file] or !Card::Format.registered.member? format #unknown format
232
+
233
+ opts = ( params[:slot] || {} ).deep_symbolize_keys
234
+ view ||= params[:view]
235
+
236
+ formatter = card.format( :format=>format )
237
+
238
+ result = formatter.show view, opts
239
+ status = formatter.error_status || status
240
+
241
+ if format==:file && status==200
242
+ send_file *result
243
+ elsif status == 302
244
+ wagn_redirect result
245
+ else
246
+ args = { :text=>result, :status=>status }
247
+ args[:content_type] = 'text/text' if format == :file
248
+ render args
249
+ end
250
+ end
251
+
252
+
253
+ rescue_from Exception do |exception|
254
+ Rails.logger.info "exception = #{exception.class}: #{exception.message}"
255
+
256
+ @card ||= Card.new
257
+
258
+ view = case exception
259
+ ## arguably the view and status should be defined in the error class;
260
+ ## some are redundantly defined in view
261
+ when Card::Oops, Card::Query
262
+ card.errors.add :exception, exception.message
263
+ # Card::Oops error messages are visible to end users and are generally not treated as bugs.
264
+ # Probably want to rename accordingly.
265
+ :errors
266
+ when Card::PermissionDenied, Wagn::PermissionDenied
267
+ :denial
268
+ when Wagn::NotFound, ActiveRecord::RecordNotFound, ActionController::MissingFile
269
+ :not_found
270
+ when Wagn::BadAddress
271
+ :bad_address
272
+ else #the following indicate a code problem and therefore require full logging
273
+ Rails.logger.info exception.backtrace*"\n"
274
+ notify_airbrake exception if Airbrake.configuration.api_key
275
+
276
+ if ActiveRecord::RecordInvalid === exception
277
+ :errors
278
+ elsif Rails.logger.level == 0 # could also just check non-production mode...
279
+ raise exception
280
+ else
281
+ :server_error
282
+ end
283
+ end
284
+
285
+ show view
286
+ end
119
287
 
120
288
 
121
- #------- REDIRECTION
122
289
 
123
290
  end
124
291