card 1.19.6 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (298) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/card.gemspec +8 -7
  4. data/config/initializers/01_core_extensions/array.rb +4 -0
  5. data/config/initializers/01_core_extensions/persistent_identifiers.rb +12 -0
  6. data/config/initializers/02_patches/better_errors.rb +56 -0
  7. data/config/initializers/core_extensions.rb +13 -18
  8. data/config/initializers/patches.rb +8 -0
  9. data/config/locales/de.yml +0 -2
  10. data/db/migrate_core_cards/20150202143810_import_bootstrap_layout.rb +22 -12
  11. data/db/migrate_core_cards/20161102202156_tweak_recaptcha_setting_cards.rb +17 -0
  12. data/db/migrate_core_cards/20161103154836_update_keys.rb +46 -0
  13. data/lib/card.rb +1 -8
  14. data/lib/card/act_manager.rb +4 -0
  15. data/lib/card/auth/permissions.rb +5 -3
  16. data/lib/card/cache.rb +1 -20
  17. data/lib/card/cache/persistent.rb +6 -0
  18. data/lib/card/content/chunk.rb +4 -3
  19. data/lib/card/content/diff.rb +2 -2
  20. data/lib/card/content/diff/result.rb +11 -0
  21. data/lib/card/env/success.rb +4 -0
  22. data/lib/card/error.rb +2 -0
  23. data/lib/card/format.rb +14 -17
  24. data/lib/card/format/content.rb +16 -8
  25. data/lib/card/format/error.rb +3 -5
  26. data/lib/card/format/names.rb +22 -16
  27. data/lib/card/format/nest.rb +67 -61
  28. data/lib/card/format/nest/fetch.rb +40 -33
  29. data/lib/card/format/nest/main.rb +39 -19
  30. data/lib/card/format/nest/subformat.rb +3 -16
  31. data/lib/card/format/nest/view.rb +23 -32
  32. data/lib/card/format/permission.rb +49 -34
  33. data/lib/card/format/registration.rb +12 -6
  34. data/lib/card/format/render.rb +62 -73
  35. data/lib/card/migration.rb +14 -10
  36. data/lib/card/migration/import.rb +20 -19
  37. data/lib/card/migration/import/import_data.rb +50 -59
  38. data/lib/card/migration/import/import_data/card_attributes.rb +56 -0
  39. data/lib/card/migration/import/import_data/card_content.rb +33 -0
  40. data/lib/card/migration/import/merger.rb +47 -0
  41. data/lib/card/mod/loader.rb +4 -4
  42. data/lib/card/model/save_helper.rb +49 -10
  43. data/lib/card/name.rb +16 -52
  44. data/lib/card/name/fields_and_traits.rb +67 -0
  45. data/lib/card/name/variants.rb +17 -0
  46. data/lib/card/query.rb +6 -2
  47. data/lib/card/query/attributes.rb +1 -1
  48. data/lib/card/query/interpretation.rb +3 -3
  49. data/lib/card/set/event.rb +2 -1
  50. data/lib/card/set/format.rb +18 -7
  51. data/lib/card/set_pattern.rb +17 -13
  52. data/lib/card/tasks/card.rake +1 -1
  53. data/lib/card/view.rb +55 -0
  54. data/lib/card/view/cache.rb +90 -0
  55. data/lib/card/view/fetch.rb +109 -0
  56. data/lib/card/view/options.rb +164 -0
  57. data/lib/card/view/stub.rb +30 -0
  58. data/lib/card/view/visibility.rb +95 -0
  59. data/lib/cardio.rb +3 -2
  60. data/lib/cardio/schema.rb +21 -8
  61. data/lib/generators/card.rb +16 -2
  62. data/lib/generators/card/format/format_generator.rb +10 -9
  63. data/lib/generators/card/migration/migration_generator.rb +10 -5
  64. data/lib/generators/card/set/USAGE +1 -1
  65. data/lib/generators/card/set/set_generator.rb +11 -9
  66. data/mod/account/set/right/account.rb +38 -40
  67. data/mod/account/set/right/token.rb +2 -1
  68. data/mod/account/set/self/account_links.rb +34 -54
  69. data/mod/account/set/self/signin.rb +107 -93
  70. data/mod/account/set/type/signup.rb +33 -32
  71. data/mod/account/set/type/user.rb +28 -21
  72. data/mod/account/spec/set/all/account_spec.rb +9 -9
  73. data/mod/account/spec/set/right/account_spec.rb +23 -14
  74. data/mod/account/spec/set/right/email_spec.rb +6 -6
  75. data/mod/account/spec/set/right/password_spec.rb +4 -4
  76. data/mod/account/spec/set/right/token_spec.rb +3 -3
  77. data/mod/account/spec/set/self/account_links_spec.rb +3 -3
  78. data/mod/account/spec/set/self/signin_spec.rb +2 -2
  79. data/mod/account/spec/set/type/signup_spec.rb +7 -8
  80. data/mod/ace_editor/set/abstract/ace_editor.rb +1 -4
  81. data/mod/admin/set/self/admin.rb +2 -2
  82. data/mod/admin/set/self/admin_info.rb +1 -1
  83. data/mod/admin/set/self/recaptcha_private_key.rb +3 -0
  84. data/mod/admin/set/self/recaptcha_proxy.rb +3 -0
  85. data/mod/admin/set/self/recaptcha_public_key.rb +3 -0
  86. data/mod/admin/set/self/trash.rb +4 -4
  87. data/mod/admin/spec/set/self/admin_spec.rb +4 -4
  88. data/mod/admin/spec/set/self/version_spec.rb +1 -1
  89. data/mod/basic_formats/set/all/all_css.rb +3 -3
  90. data/mod/basic_formats/set/all/all_csv.rb +6 -6
  91. data/mod/basic_formats/set/all/all_js.rb +4 -0
  92. data/mod/basic_formats/set/all/base.rb +40 -62
  93. data/mod/basic_formats/set/all/json.rb +34 -39
  94. data/mod/basic_formats/set/all/rss.rb +6 -6
  95. data/mod/basic_formats/set/all/text.rb +3 -2
  96. data/mod/basic_formats/set/self/01_head/javascript.rb +2 -2
  97. data/mod/basic_formats/set/self/head.rb +6 -10
  98. data/mod/basic_formats/spec/set/all/all_css_spec.rb +1 -1
  99. data/mod/basic_formats/spec/set/all/all_csv_spec.rb +1 -1
  100. data/mod/basic_formats/spec/set/all/base_spec.rb +8 -5
  101. data/mod/basic_formats/spec/set/all/json_spec.rb +2 -2
  102. data/mod/basic_formats/spec/set/all/rss_spec.rb +4 -4
  103. data/mod/basic_types/set/type/plain_text.rb +3 -5
  104. data/mod/basic_types/spec/set/type/plain_text_spec.rb +2 -2
  105. data/mod/bootstrap/lib/bootstrap.rb +16 -0
  106. data/mod/bootstrap/lib/bootstrap/basic_tags.rb +26 -0
  107. data/mod/bootstrap/lib/bootstrap/component.rb +133 -0
  108. data/mod/bootstrap/lib/bootstrap/component/form.rb +31 -0
  109. data/mod/bootstrap/lib/bootstrap/component/horizontal_form.rb +38 -0
  110. data/mod/bootstrap/lib/bootstrap/component/layout.rb +83 -0
  111. data/mod/bootstrap/lib/bootstrap/component/panel.rb +9 -0
  112. data/mod/bootstrap/lib/bootstrap/component_loader.rb +30 -0
  113. data/mod/bootstrap/lib/bootstrap/delegate.rb +16 -0
  114. data/mod/bootstrap/lib/bootstrapper.rb +16 -0
  115. data/mod/bootstrap/lib/stylesheets/bootstrap/_tables.scss +55 -52
  116. data/mod/bootstrap/lib/stylesheets/bootstrap/mixins/_table-row.scss +12 -12
  117. data/mod/bootstrap/lib/stylesheets/bootstrap_cards.scss +12 -0
  118. data/mod/bootstrap/set/all/bootstrap/accordion.rb +63 -0
  119. data/mod/bootstrap/set/all/bootstrap/helper.rb +7 -140
  120. data/mod/bootstrap/set/all/bootstrap/navbar.rb +74 -0
  121. data/mod/bootstrap/set/all/bootstrap/table.rb +76 -46
  122. data/mod/bootstrap/set/all/bootstrap/tabs.rb +58 -23
  123. data/mod/bootstrap/set/all/bootstrap/wrapper.rb +14 -8
  124. data/mod/bootstrap/set/all/rich_bootstrap.rb +5 -3
  125. data/mod/bootstrap/spec/set/all/bootstrap/bootstrap_builder_spec.rb +31 -0
  126. data/mod/bootstrap/spec/set/all/bootstrap/bootstrap_spec.rb +20 -0
  127. data/mod/bootstrap/spec/set/all/bootstrap/form_spec.rb +59 -1
  128. data/mod/bootstrap/spec/set/all/bootstrap/layout_spec.rb +104 -15
  129. data/mod/carrierwave/set/abstract/attachment.rb +4 -3
  130. data/mod/carrierwave/set/abstract/attachment/paths.rb +1 -1
  131. data/mod/carrierwave/set/abstract/attachment/storage_type.rb +5 -11
  132. data/mod/carrierwave/set/type/file.rb +39 -32
  133. data/mod/carrierwave/set/type/image.rb +59 -34
  134. data/mod/carrierwave/spec/set/type/image_spec.rb +3 -3
  135. data/mod/core/chunk/link.rb +5 -0
  136. data/mod/core/chunk/{include.rb → nest.rb} +8 -29
  137. data/mod/core/chunk/reference.rb +5 -6
  138. data/mod/core/chunk/view_stub.rb +42 -0
  139. data/mod/core/format/html_format.rb +23 -26
  140. data/mod/core/set/abstract/code_file.rb +1 -1
  141. data/mod/core/set/all/actify.rb +1 -1
  142. data/mod/core/set/all/active_card.rb +0 -1
  143. data/mod/core/set/all/{tracked_attributes.rb → assign_attributes.rb} +55 -24
  144. data/mod/core/set/all/collection.rb +136 -122
  145. data/mod/core/set/all/content.rb +8 -0
  146. data/mod/core/set/all/event.rb +5 -2
  147. data/mod/core/set/all/export.rb +7 -7
  148. data/mod/core/set/all/fetch.rb +90 -26
  149. data/mod/core/set/all/initialize.rb +17 -6
  150. data/mod/core/set/all/name.rb +2 -3
  151. data/mod/core/set/all/permissions.rb +19 -11
  152. data/mod/core/set/all/states.rb +12 -2
  153. data/mod/core/set/all/trash.rb +1 -1
  154. data/mod/core/set/all/type.rb +2 -0
  155. data/mod/core/set/all/utils.rb +4 -3
  156. data/mod/core/spec/chunk/literal_spec.rb +2 -2
  157. data/mod/core/spec/chunk/uri_spec.rb +17 -17
  158. data/mod/core/spec/format/html_format_spec.rb +11 -13
  159. data/mod/core/spec/set/all/attribute_tracking_spec.rb +2 -2
  160. data/mod/core/spec/set/all/collection_spec.rb +21 -24
  161. data/mod/core/spec/set/all/content_spec.rb +1 -1
  162. data/mod/core/spec/set/all/export_spec.rb +3 -3
  163. data/mod/core/spec/set/all/fetch_spec.rb +5 -5
  164. data/mod/core/spec/set/all/initialize_spec.rb +4 -4
  165. data/mod/core/spec/set/all/name_spec.rb +6 -6
  166. data/mod/core/spec/set/all/permissions_spec.rb +10 -10
  167. data/mod/core/spec/set/all/references_spec.rb +1 -1
  168. data/mod/core/spec/set/all/rules2_spec.rb +24 -24
  169. data/mod/core/spec/set/all/rules_spec.rb +1 -1
  170. data/mod/core/spec/set/all/templating_spec.rb +8 -8
  171. data/mod/core/spec/set/all/tracked_attributes_spec.rb +6 -6
  172. data/mod/core/spec/set/all/type_spec.rb +5 -5
  173. data/mod/developer/spec/set/all/event_viz_spec.rb +1 -1
  174. data/mod/developer/spec/set/right/debug_spec.rb +1 -1
  175. data/mod/email/set/all/email_html.rb +2 -2
  176. data/mod/email/set/all/notify.rb +8 -3
  177. data/mod/email/set/right/bcc.rb +3 -3
  178. data/mod/email/set/right/follow.rb +5 -5
  179. data/mod/email/set/right/following.rb +1 -1
  180. data/mod/email/set/self/follow_defaults.rb +27 -16
  181. data/mod/email/set/type/email_template.rb +1 -1
  182. data/mod/email/set/type_plus_right/user/follow.rb +10 -9
  183. data/mod/history/lib/card/act.rb +4 -0
  184. data/mod/history/lib/card/act/act_renderer.rb +194 -0
  185. data/mod/history/lib/card/act/act_renderer/absolute_act_renderer.rb +25 -0
  186. data/mod/history/lib/card/act/act_renderer/relative_act_renderer.rb +41 -0
  187. data/mod/history/lib/card/action.rb +1 -0
  188. data/mod/history/lib/card/action/action_renderer.rb +92 -0
  189. data/mod/history/lib/card/action/differ.rb +6 -1
  190. data/mod/history/set/all/act_view.rb +64 -0
  191. data/mod/history/set/all/action_view.rb +65 -0
  192. data/mod/history/set/all/content_history.rb +44 -37
  193. data/mod/history/set/all/history.rb +49 -263
  194. data/mod/machines/lib/stylesheets/style_cards.scss +30 -115
  195. data/mod/machines/set/abstract/script.rb +42 -7
  196. data/mod/machines/set/right/machine_input.rb +4 -0
  197. data/mod/machines/set/type/coffee_script.rb +8 -22
  198. data/mod/machines/set/type/css.rb +2 -2
  199. data/mod/machines/set/type/java_script.rb +4 -24
  200. data/mod/machines/set/type/scss.rb +1 -1
  201. data/mod/machines/spec/set/type/css_spec.rb +1 -1
  202. data/mod/machines/spec/set/type/scss_spec.rb +3 -3
  203. data/mod/machines/spec/set/type/skin_spec.rb +7 -7
  204. data/mod/pointer/set/abstract/01_pointer.rb +44 -46
  205. data/mod/pointer/set/abstract/01_pointer/edit.rb +13 -13
  206. data/mod/pointer/set/right/options.rb +4 -0
  207. data/mod/pointer/spec/set/type/pointer_spec.rb +7 -7
  208. data/mod/prosemirror_editor/set/abstract/prosemirror_editor.rb +3 -3
  209. data/mod/settings/set/abstract/permission.rb +25 -18
  210. data/mod/settings/set/right/add_help.rb +3 -3
  211. data/mod/settings/set/right/structure.rb +10 -16
  212. data/mod/settings/spec/set/right/comment_spec.rb +3 -3
  213. data/mod/settings/spec/set/right/create_spec.rb +1 -1
  214. data/mod/settings/spec/set/right/style_spec.rb +1 -1
  215. data/mod/settings/spec/set/type/setting_spec.rb +1 -1
  216. data/mod/solid_cache/set/abstract/solid_cache.rb +4 -4
  217. data/mod/solid_cache/set/right/solid_cache.rb +9 -10
  218. data/mod/standard/set/abstract/01_search_params.rb +41 -0
  219. data/mod/standard/set/abstract/search.rb +132 -0
  220. data/mod/standard/set/abstract/search/paging.rb +81 -0
  221. data/mod/standard/set/abstract/search/paging/paging_links.rb +90 -0
  222. data/mod/standard/set/abstract/wql_search.rb +67 -0
  223. data/mod/standard/set/all/error.rb +89 -82
  224. data/mod/standard/set/all/links.rb +1 -1
  225. data/mod/standard/set/all/rich_html/content.rb +125 -141
  226. data/mod/standard/set/all/rich_html/editing.rb +115 -178
  227. data/mod/standard/set/all/rich_html/form.rb +111 -131
  228. data/mod/standard/set/all/rich_html/header.rb +57 -39
  229. data/mod/standard/set/all/rich_html/menu.rb +94 -94
  230. data/mod/standard/set/all/rich_html/modal.rb +5 -10
  231. data/mod/standard/set/all/rich_html/new.rb +103 -0
  232. data/mod/standard/set/all/rich_html/toolbar.rb +54 -74
  233. data/mod/standard/set/all/rich_html/wrapper.rb +111 -138
  234. data/mod/standard/set/rstar/rules.rb +27 -38
  235. data/mod/standard/set/rstar/rules_editor.rb +298 -277
  236. data/mod/standard/set/self/navbox.rb +20 -15
  237. data/mod/standard/set/self/recent.rb +25 -17
  238. data/mod/standard/set/self/search.rb +25 -4
  239. data/mod/standard/set/type/cardtype.rb +11 -9
  240. data/mod/standard/set/type/date.rb +1 -1
  241. data/mod/standard/set/type/number.rb +1 -1
  242. data/mod/standard/set/type/phrase.rb +1 -1
  243. data/mod/standard/set/type/search_type.rb +17 -282
  244. data/mod/standard/set/type/session.rb +1 -1
  245. data/mod/standard/set/type/set.rb +155 -131
  246. data/mod/standard/set/type/toggle.rb +1 -1
  247. data/mod/standard/set/type/uri.rb +4 -4
  248. data/mod/standard/spec/chunk/include_spec.rb +13 -31
  249. data/mod/standard/spec/chunk/link_spec.rb +1 -1
  250. data/mod/standard/spec/set/all/error_spec.rb +1 -1
  251. data/mod/standard/spec/set/all/history_spec.rb +2 -2
  252. data/mod/standard/spec/set/all/rich_html/form_spec.rb +4 -4
  253. data/mod/standard/spec/set/all/rich_html/toolbar_spec.rb +22 -0
  254. data/mod/standard/spec/set/all/rich_html/wrapper_spec.rb +3 -2
  255. data/mod/standard/spec/set/right/when_created_spec.rb +1 -1
  256. data/mod/standard/spec/set/right/when_last_edited_spec.rb +1 -1
  257. data/mod/standard/spec/set/rstar/rules_spec.rb +2 -3
  258. data/mod/standard/spec/set/self/head_spec.rb +2 -2
  259. data/mod/standard/spec/set/self/navbox_spec.rb +1 -1
  260. data/mod/standard/spec/set/self/now_spec.rb +1 -1
  261. data/mod/standard/spec/set/type/date_spec.rb +1 -1
  262. data/mod/standard/spec/set/type/email_template_spec.rb +1 -1
  263. data/mod/standard/spec/set/type/layout_type_spec.rb +1 -1
  264. data/mod/standard/spec/set/type/number_spec.rb +1 -1
  265. data/mod/standard/spec/set/type/phrase_spec.rb +1 -1
  266. data/mod/standard/spec/set/type/search_type_spec.rb +2 -2
  267. data/mod/standard/spec/set/type/set_spec.rb +2 -2
  268. data/mod/standard/spec/set/type/toggle_spec.rb +2 -2
  269. data/mod/standard/spec/set/type/uri_spec.rb +3 -1
  270. data/mod/tinymce_editor/set/abstract/tinymce_editor.rb +1 -1
  271. data/spec/config/initializers/core_extensions_spec.rb +40 -10
  272. data/spec/lib/card/auth_spec.rb +8 -8
  273. data/spec/lib/card/cache_spec.rb +3 -3
  274. data/spec/lib/card/chunk_spec.rb +4 -4
  275. data/spec/lib/card/codename_spec.rb +2 -2
  276. data/spec/lib/card/content_spec.rb +23 -23
  277. data/spec/lib/card/diff_spec.rb +1 -1
  278. data/spec/lib/card/format_spec.rb +19 -24
  279. data/spec/lib/card/loader_spec.rb +4 -4
  280. data/spec/lib/card/name_spec.rb +16 -16
  281. data/spec/lib/card/query_spec.rb +80 -80
  282. data/spec/lib/card/reference_spec.rb +5 -5
  283. data/spec/lib/card/set_spec.rb +6 -6
  284. data/spec/lib/card/subcards_spec.rb +14 -0
  285. data/spec/lib/card/view_cache_spec.rb +5 -5
  286. data/spec/models/card/cardtype_spec.rb +15 -15
  287. data/spec/models/card/create_spec.rb +2 -2
  288. data/spec/models/card/trash_spec.rb +24 -24
  289. data/spec/models/card/type_transition_spec.rb +8 -8
  290. data/spec/models/card/validation_spec.rb +5 -5
  291. data/spec/models/card_spec.rb +14 -14
  292. data/spec/spec_helper.rb +6 -2
  293. data/spec/support/card_spec_helper.rb +21 -11
  294. data/spec/support/helper/card_helper.rb +11 -4
  295. metadata +73 -15
  296. data/lib/card/cache/view_cache.rb +0 -103
  297. data/mod/bootstrap/set/all/bootstrap/layout.rb +0 -58
  298. data/mod/core/set/all/view_cache.rb +0 -9
@@ -1,30 +1,30 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
3
  describe Card, "validate name" do
4
- it "should error on name with /" do
4
+ it "errors on name with /" do
5
5
  @c = Card.create name: "testname/"
6
6
  expect(@c.errors[:name]).not_to be_blank
7
7
  end
8
8
 
9
- it "should error on junction name with /" do
9
+ it "errors on junction name with /" do
10
10
  @c = Card.create name: "jasmin+ri/ce"
11
11
  expect(@c.errors[:name]).not_to be_blank
12
12
  end
13
13
 
14
- it "shouldn't create any new cards when name invalid" do
14
+ it "does not create any new cards when name invalid" do
15
15
  original_card_count = Card.count
16
16
  @c = Card.create name: "jasmin+ri/ce"
17
17
  expect(Card.count).to eq(original_card_count)
18
18
  end
19
19
 
20
- it "should not allow empty name" do
20
+ it "does not allow empty name" do
21
21
  @c = Card.new name: ""
22
22
  expect(@c.valid?).to eq(false)
23
23
  expect(@c.errors[:name]).not_to be_blank
24
24
  end
25
25
 
26
26
  # maybe the @c.key= should just throw an error, but now it doesn't take anyway
27
- it "should not allow mismatched name and key" do
27
+ it "does not allow mismatched name and key" do
28
28
  @c = Card.new name: "Test"
29
29
  @c.key = "foo"
30
30
  # @c.key.should == 'test'
@@ -2,7 +2,7 @@
2
2
 
3
3
  describe Card do
4
4
  describe "test data" do
5
- it "should be findable by name" do
5
+ it "is findable by name" do
6
6
  expect(Card["Wagn Bot"].class).to eq(Card)
7
7
  end
8
8
  end
@@ -15,18 +15,18 @@ describe Card do
15
15
  end
16
16
  end
17
17
 
18
- it "should not have errors" do expect(@b.errors.size).to eq(0) end
19
- it "should have the right class" do expect(@c.class).to eq(Card) end
20
- it "should have the right key" do expect(@c.key).to eq("new_card") end
21
- it "should have the right name" do expect(@c.name).to eq("New Card") end
22
- it "should have the right content" do expect(@c.content).to eq("Great Content") end
18
+ it "does not have errors" do expect(@b.errors.size).to eq(0) end
19
+ it "has the right class" do expect(@c.class).to eq(Card) end
20
+ it "has the right key" do expect(@c.key).to eq("new_card") end
21
+ it "has the right name" do expect(@c.name).to eq("New Card") end
22
+ it "has the right content" do expect(@c.content).to eq("Great Content") end
23
23
 
24
- it "should have the right content" do
24
+ it "has the right content" do
25
25
  expect(@c.db_content).to eq("Great Content")
26
26
  expect(@c.content).to eq("Great Content")
27
27
  end
28
28
 
29
- it "should be findable by name" do
29
+ it "is findable by name" do
30
30
  expect(Card["New Card"].class).to eq(Card)
31
31
  end
32
32
  end
@@ -39,17 +39,17 @@ describe Card do
39
39
  end
40
40
  end
41
41
 
42
- it "should have 2 actions" do
42
+ it "has 2 actions" do
43
43
  expect(@c.actions.count).to eq(2)
44
44
  end
45
45
 
46
- it "should have original action" do
46
+ it "has original action" do
47
47
  expect(@c.nth_action(1).value :db_content).to eq("basiccontent")
48
48
  end
49
49
  end
50
50
 
51
51
  describe "created a virtual card when missing and has a template" do
52
- it "should be flagged as virtual" do
52
+ it "is flagged as virtual" do
53
53
  expect(Card.new(name: "A+*last edited").virtual?).to be_truthy
54
54
  end
55
55
  end
@@ -76,7 +76,7 @@ describe "basic card tests" do
76
76
  assert_equal card1.right, card2.right
77
77
  end
78
78
 
79
- it "should remove cards" do
79
+ it "removes cards" do
80
80
  forba = Card.create! name: "Forba"
81
81
  torga = Card.create! name: "TorgA"
82
82
  torgb = Card.create! name: "TorgB"
@@ -107,7 +107,7 @@ describe "basic card tests" do
107
107
  # alpha.attribute_card('beta').should be_instance_of(Card)
108
108
  # end
109
109
 
110
- it "should create cards" do
110
+ it "creates cards" do
111
111
  alpha = Card.new name: "alpha", content: "alpha"
112
112
  expect(alpha.content).to eq("alpha")
113
113
  alpha.save
@@ -115,7 +115,7 @@ describe "basic card tests" do
115
115
  assert_stable alpha
116
116
  end
117
117
 
118
- it "should not find nonexistent" do
118
+ it "does not find nonexistent" do
119
119
  expect(Card["no such card+no such tag"]).to be_nil
120
120
  expect(Card["HomeCard+no such tag"]).to be_nil
121
121
  end
@@ -37,7 +37,11 @@ end
37
37
  CardSpecLoader.helper
38
38
 
39
39
  class ActiveSupport::Logger
40
- def rspec msg
41
- Thread.current["logger-output"] << msg
40
+ def rspec msg, console_text=nil
41
+ if Thread.current["logger-output"]
42
+ Thread.current["logger-output"] << msg
43
+ else
44
+ puts console_text || msg
45
+ end
42
46
  end
43
47
  end
@@ -29,20 +29,30 @@ class Card
29
29
  end
30
30
 
31
31
  def debug_assert_view_select view_html, *args, &block
32
- Rails.logger.rspec <<-HTML
33
- #{CodeRay.scan(Nokogiri::XML(view_html, &:noblanks).to_s, :html).div}
34
- <style>
35
- .CodeRay {
36
- background-color: #FFF;
37
- border: 1px solid #CCC;
38
- padding: 1em 0px 1em 1em;
39
- }
40
- .CodeRay .code pre { overflow: auto }
41
- </style>
42
- HTML
32
+ log_html view_html
43
33
  assert_view_select view_html, *args, &block
44
34
  end
45
35
 
36
+ def log_html html
37
+ parsed = CodeRay.scan(Nokogiri::XML(html, &:noblanks).to_s, :html)
38
+ if Rails.logger.respond_to? :rspec
39
+ Rails.logger.rspec "#{parsed.div}#{CODE_RAY_STYLE}"
40
+ else
41
+ puts parsed.text
42
+ end
43
+ end
44
+
45
+ CODE_RAY_STYLE = <<-HTML
46
+ <style>
47
+ .CodeRay {
48
+ background-color: #FFF;
49
+ border: 1px solid #CCC;
50
+ padding: 1em 0px 1em 1em;
51
+ }
52
+ .CodeRay .code pre { overflow: auto }
53
+ </style>
54
+ HTML
55
+
46
56
  def users
47
57
  SharedData::USERS.sort
48
58
  end
@@ -54,13 +54,20 @@ class Card
54
54
  rescue NameError
55
55
  end
56
56
 
57
- def format_with_set set, format_type=:base
57
+ def with_set set
58
58
  set = include_set_in_test_set(set) if set.abstract_set?
59
-
60
59
  singleton_class.send :include, set
60
+ yield set if block_given?
61
+ self
62
+ end
63
+
64
+ def format_with_set set, format_type=:base
61
65
  format = format format_type
62
- format.singleton_class.send :include, set_format_class(set, format_type)
63
- yield format
66
+ with_set set do |extended_set|
67
+ format_class = set_format_class(extended_set, format_type)
68
+ format.singleton_class.send :include, format_class
69
+ end
70
+ block_given? ? yield(format) : format
64
71
  end
65
72
 
66
73
  def set_format_class set, format_type
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.6
4
+ version: 1.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan McCutchen
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-10-02 00:00:00.000000000 Z
14
+ date: 2017-01-02 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: smartname
@@ -19,14 +19,14 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 0.3.1
22
+ version: '0.4'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.3.1
29
+ version: '0.4'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: uuid
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -47,14 +47,14 @@ dependencies:
47
47
  requirements:
48
48
  - - '='
49
49
  - !ruby/object:Gem::Version
50
- version: 1.0.0.beta
50
+ version: 1.0.0.rc
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - '='
56
56
  - !ruby/object:Gem::Version
57
- version: 1.0.0.beta
57
+ version: 1.0.0.rc
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: htmlentities
60
60
  requirement: !ruby/object:Gem::Requirement
@@ -153,6 +153,20 @@ dependencies:
153
153
  - - "~>"
154
154
  - !ruby/object:Gem::Version
155
155
  version: '3.0'
156
+ - !ruby/object:Gem::Dependency
157
+ name: nokogiri
158
+ requirement: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - "~>"
161
+ - !ruby/object:Gem::Version
162
+ version: 1.6.8
163
+ type: :runtime
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: 1.6.8
156
170
  - !ruby/object:Gem::Dependency
157
171
  name: haml
158
172
  requirement: !ruby/object:Gem::Requirement
@@ -223,8 +237,8 @@ dependencies:
223
237
  - - '='
224
238
  - !ruby/object:Gem::Version
225
239
  version: 2.99.1
226
- description: Cards are data atoms grouped into Sets to which Rules can apply. Cards
227
- can formatted with Views and transformed with Events.
240
+ description: Cards are wiki-inspired data atoms."Cardists" use links, nests, types,
241
+ patterned names, queries, views, events, and rules to create rich structures.
228
242
  email:
229
243
  - info@wagn.org
230
244
  executables: []
@@ -243,6 +257,8 @@ files:
243
257
  - config/initializers/01_core_extensions/hash.rb
244
258
  - config/initializers/01_core_extensions/module.rb
245
259
  - config/initializers/01_core_extensions/object.rb
260
+ - config/initializers/01_core_extensions/persistent_identifiers.rb
261
+ - config/initializers/02_patches/better_errors.rb
246
262
  - config/initializers/02_patches/kaminari.rb
247
263
  - config/initializers/core_extensions.rb
248
264
  - config/initializers/inflections.rb
@@ -323,6 +339,8 @@ files:
323
339
  - db/migrate_core_cards/20160811115836_rename_stats_to_admin.rb
324
340
  - db/migrate_core_cards/20160908154210_add_trash_card.rb
325
341
  - db/migrate_core_cards/20160914132636_fix_mod_files.rb
342
+ - db/migrate_core_cards/20161102202156_tweak_recaptcha_setting_cards.rb
343
+ - db/migrate_core_cards/20161103154836_update_keys.rb
326
344
  - db/migrate_core_cards/data/1.11_help_text.json
327
345
  - db/migrate_core_cards/data/1.12_stylesheets/classic_cards.scss
328
346
  - db/migrate_core_cards/data/1.12_stylesheets/common.scss
@@ -412,7 +430,6 @@ files:
412
430
  - lib/card/cache/persistent.rb
413
431
  - lib/card/cache/prepopulate.rb
414
432
  - lib/card/cache/temporary.rb
415
- - lib/card/cache/view_cache.rb
416
433
  - lib/card/codename.rb
417
434
  - lib/card/content.rb
418
435
  - lib/card/content/chunk.rb
@@ -445,10 +462,15 @@ files:
445
462
  - lib/card/migration/core.rb
446
463
  - lib/card/migration/import.rb
447
464
  - lib/card/migration/import/import_data.rb
465
+ - lib/card/migration/import/import_data/card_attributes.rb
466
+ - lib/card/migration/import/import_data/card_content.rb
467
+ - lib/card/migration/import/merger.rb
448
468
  - lib/card/mod/dirs.rb
449
469
  - lib/card/mod/loader.rb
450
470
  - lib/card/model/save_helper.rb
451
471
  - lib/card/name.rb
472
+ - lib/card/name/fields_and_traits.rb
473
+ - lib/card/name/variants.rb
452
474
  - lib/card/name/view_name.rb
453
475
  - lib/card/query.rb
454
476
  - lib/card/query/attributes.rb
@@ -477,6 +499,12 @@ files:
477
499
  - lib/card/subcards.rb
478
500
  - lib/card/tasks/card.rake
479
501
  - lib/card/version.rb
502
+ - lib/card/view.rb
503
+ - lib/card/view/cache.rb
504
+ - lib/card/view/fetch.rb
505
+ - lib/card/view/options.rb
506
+ - lib/card/view/stub.rb
507
+ - lib/card/view/visibility.rb
480
508
  - lib/cardio.rb
481
509
  - lib/cardio/schema.rb
482
510
  - lib/generators/card.rb
@@ -522,6 +550,9 @@ files:
522
550
  - mod/ace_editor/set/self/script_ace_config.rb
523
551
  - mod/admin/set/self/admin.rb
524
552
  - mod/admin/set/self/admin_info.rb
553
+ - mod/admin/set/self/recaptcha_private_key.rb
554
+ - mod/admin/set/self/recaptcha_proxy.rb
555
+ - mod/admin/set/self/recaptcha_public_key.rb
525
556
  - mod/admin/set/self/trash.rb
526
557
  - mod/admin/set/self/version.rb
527
558
  - mod/admin/spec/set/self/admin_spec.rb
@@ -633,6 +664,16 @@ files:
633
664
  - mod/bootstrap/file/yeti_skin_image/image-medium.png
634
665
  - mod/bootstrap/file/yeti_skin_image/image-original.png
635
666
  - mod/bootstrap/file/yeti_skin_image/image-small.png
667
+ - mod/bootstrap/lib/bootstrap.rb
668
+ - mod/bootstrap/lib/bootstrap/basic_tags.rb
669
+ - mod/bootstrap/lib/bootstrap/component.rb
670
+ - mod/bootstrap/lib/bootstrap/component/form.rb
671
+ - mod/bootstrap/lib/bootstrap/component/horizontal_form.rb
672
+ - mod/bootstrap/lib/bootstrap/component/layout.rb
673
+ - mod/bootstrap/lib/bootstrap/component/panel.rb
674
+ - mod/bootstrap/lib/bootstrap/component_loader.rb
675
+ - mod/bootstrap/lib/bootstrap/delegate.rb
676
+ - mod/bootstrap/lib/bootstrapper.rb
636
677
  - mod/bootstrap/lib/javascript/bootstrap.js
637
678
  - mod/bootstrap/lib/javascript/bootstrap.min.js
638
679
  - mod/bootstrap/lib/javascript/bootstrap_modal_wagn.js
@@ -708,9 +749,10 @@ files:
708
749
  - mod/bootstrap/lib/stylesheets/bootstrap/mixins/_vendor-prefixes.scss
709
750
  - mod/bootstrap/lib/stylesheets/bootstrap_cards.scss
710
751
  - mod/bootstrap/lib/stylesheets/smartmenu.css
752
+ - mod/bootstrap/set/all/bootstrap/accordion.rb
711
753
  - mod/bootstrap/set/all/bootstrap/form.rb
712
754
  - mod/bootstrap/set/all/bootstrap/helper.rb
713
- - mod/bootstrap/set/all/bootstrap/layout.rb
755
+ - mod/bootstrap/set/all/bootstrap/navbar.rb
714
756
  - mod/bootstrap/set/all/bootstrap/table.rb
715
757
  - mod/bootstrap/set/all/bootstrap/tabs.rb
716
758
  - mod/bootstrap/set/all/bootstrap/wrapper.rb
@@ -721,6 +763,8 @@ files:
721
763
  - mod/bootstrap/set/self/script_mods.rb
722
764
  - mod/bootstrap/set/self/smartmenu_css.rb
723
765
  - mod/bootstrap/set/self/smartmenu_js.rb
766
+ - mod/bootstrap/spec/set/all/bootstrap/bootstrap_builder_spec.rb
767
+ - mod/bootstrap/spec/set/all/bootstrap/bootstrap_spec.rb
724
768
  - mod/bootstrap/spec/set/all/bootstrap/form_spec.rb
725
769
  - mod/bootstrap/spec/set/all/bootstrap/layout_spec.rb
726
770
  - mod/carrierwave/Gemfile
@@ -738,12 +782,13 @@ files:
738
782
  - mod/carrierwave/spec/lib/carrier_wave/file_card_uploader_spec.rb
739
783
  - mod/carrierwave/spec/set/type/file_spec.rb
740
784
  - mod/carrierwave/spec/set/type/image_spec.rb
741
- - mod/core/chunk/include.rb
742
785
  - mod/core/chunk/link.rb
743
786
  - mod/core/chunk/literal.rb
787
+ - mod/core/chunk/nest.rb
744
788
  - mod/core/chunk/query_reference.rb
745
789
  - mod/core/chunk/reference.rb
746
790
  - mod/core/chunk/uri.rb
791
+ - mod/core/chunk/view_stub.rb
747
792
  - mod/core/format/data_format.rb
748
793
  - mod/core/format/html_format.rb
749
794
  - mod/core/format/text_format.rb
@@ -756,6 +801,7 @@ files:
756
801
  - mod/core/set/abstract/code_file.rb
757
802
  - mod/core/set/all/actify.rb
758
803
  - mod/core/set/all/active_card.rb
804
+ - mod/core/set/all/assign_attributes.rb
759
805
  - mod/core/set/all/collection.rb
760
806
  - mod/core/set/all/content.rb
761
807
  - mod/core/set/all/debug.rb
@@ -778,12 +824,10 @@ files:
778
824
  - mod/core/set/all/states.rb
779
825
  - mod/core/set/all/subcards.rb
780
826
  - mod/core/set/all/templating.rb
781
- - mod/core/set/all/tracked_attributes.rb
782
827
  - mod/core/set/all/trash.rb
783
828
  - mod/core/set/all/type.rb
784
829
  - mod/core/set/all/update_read_rules.rb
785
830
  - mod/core/set/all/utils.rb
786
- - mod/core/set/all/view_cache.rb
787
831
  - mod/core/set_pattern/01_all.rb
788
832
  - mod/core/set_pattern/02_all_plus.rb
789
833
  - mod/core/set_pattern/03_type.rb
@@ -856,10 +900,16 @@ files:
856
900
  - mod/email/spec/set/right/following_spec.rb
857
901
  - mod/email/spec/set/self/follow_defaults_spec.rb
858
902
  - mod/history/lib/card/act.rb
903
+ - mod/history/lib/card/act/act_renderer.rb
904
+ - mod/history/lib/card/act/act_renderer/absolute_act_renderer.rb
905
+ - mod/history/lib/card/act/act_renderer/relative_act_renderer.rb
859
906
  - mod/history/lib/card/action.rb
907
+ - mod/history/lib/card/action/action_renderer.rb
860
908
  - mod/history/lib/card/action/admin.rb
861
909
  - mod/history/lib/card/action/differ.rb
862
910
  - mod/history/lib/card/change.rb
911
+ - mod/history/set/all/act_view.rb
912
+ - mod/history/set/all/action_view.rb
863
913
  - mod/history/set/all/actions.rb
864
914
  - mod/history/set/all/content_history.rb
865
915
  - mod/history/set/all/history.rb
@@ -920,6 +970,7 @@ files:
920
970
  - mod/pointer/set/abstract/01_pointer.rb
921
971
  - mod/pointer/set/abstract/01_pointer/edit.rb
922
972
  - mod/pointer/set/abstract/code_pointer.rb
973
+ - mod/pointer/set/right/options.rb
923
974
  - mod/pointer/set/self/script_editors.rb
924
975
  - mod/pointer/set/self/script_mods.rb
925
976
  - mod/pointer/set/self/script_pointer_config.rb
@@ -1002,6 +1053,11 @@ files:
1002
1053
  - mod/standard/file/logo/image-medium.png
1003
1054
  - mod/standard/file/logo/image-original.png
1004
1055
  - mod/standard/file/logo/image-small.png
1056
+ - mod/standard/set/abstract/01_search_params.rb
1057
+ - mod/standard/set/abstract/search.rb
1058
+ - mod/standard/set/abstract/search/paging.rb
1059
+ - mod/standard/set/abstract/search/paging/paging_links.rb
1060
+ - mod/standard/set/abstract/wql_search.rb
1005
1061
  - mod/standard/set/all/comment.rb
1006
1062
  - mod/standard/set/all/error.rb
1007
1063
  - mod/standard/set/all/links.rb
@@ -1012,6 +1068,7 @@ files:
1012
1068
  - mod/standard/set/all/rich_html/header.rb
1013
1069
  - mod/standard/set/all/rich_html/menu.rb
1014
1070
  - mod/standard/set/all/rich_html/modal.rb
1071
+ - mod/standard/set/all/rich_html/new.rb
1015
1072
  - mod/standard/set/all/rich_html/toolbar.rb
1016
1073
  - mod/standard/set/all/rich_html/wrapper.rb
1017
1074
  - mod/standard/set/right/discussion.rb
@@ -1057,6 +1114,7 @@ files:
1057
1114
  - mod/standard/spec/set/all/links_spec.rb
1058
1115
  - mod/standard/spec/set/all/rich_html/editing_spec.rb
1059
1116
  - mod/standard/spec/set/all/rich_html/form_spec.rb
1117
+ - mod/standard/spec/set/all/rich_html/toolbar_spec.rb
1060
1118
  - mod/standard/spec/set/all/rich_html/wrapper_spec.rb
1061
1119
  - mod/standard/spec/set/right/when_created_spec.rb
1062
1120
  - mod/standard/spec/set/right/when_last_edited_spec.rb
@@ -1346,7 +1404,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
1346
1404
  requirements:
1347
1405
  - - ">="
1348
1406
  - !ruby/object:Gem::Version
1349
- version: 1.9.3
1407
+ version: '2.0'
1350
1408
  required_rubygems_version: !ruby/object:Gem::Requirement
1351
1409
  requirements:
1352
1410
  - - ">="
@@ -1357,7 +1415,7 @@ rubyforge_project:
1357
1415
  rubygems_version: 2.6.6
1358
1416
  signing_key:
1359
1417
  specification_version: 4
1360
- summary: an atomic, set-driven content engine
1418
+ summary: a surprisingly simple content nesting engine
1361
1419
  test_files:
1362
1420
  - spec/config/initializers/core_extensions_spec.rb
1363
1421
  - spec/lib/card/action_spec.rb