card 1.20.2 → 1.20.3

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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/card.gemspec +3 -1
  4. data/config/initializers/01_core_extensions/array.rb +1 -1
  5. data/config/initializers/01_core_extensions/module.rb +1 -1
  6. data/config/initializers/02_patches/active_record.rb +66 -0
  7. data/config/initializers/patches.rb +4 -0
  8. data/db/migrate_core_cards/20170314175313_add_notification_event_card.rb +21 -0
  9. data/db/seed/new/card_actions.yml +723 -475
  10. data/db/seed/new/card_acts.yml +45 -45
  11. data/db/seed/new/card_changes.yml +2306 -1675
  12. data/db/seed/new/card_references.yml +389 -116
  13. data/db/seed/new/cards.yml +2537 -2067
  14. data/db/seed/test/fixtures/card_actions.yml +1709 -1445
  15. data/db/seed/test/fixtures/card_acts.yml +302 -290
  16. data/db/seed/test/fixtures/card_changes.yml +5494 -4818
  17. data/db/seed/test/fixtures/card_references.yml +1137 -794
  18. data/db/seed/test/fixtures/cards.yml +3631 -3120
  19. data/db/version_core_cards.txt +1 -1
  20. data/lib/card/auth/current.rb +21 -0
  21. data/lib/card/env.rb +7 -2
  22. data/lib/card/env/success.rb +13 -3
  23. data/lib/card/format/render.rb +13 -4
  24. data/lib/card/migration.rb +4 -6
  25. data/lib/card/mod/loader.rb +8 -0
  26. data/lib/card/model/save_helper.rb +45 -0
  27. data/lib/card/name/view_name.rb +8 -6
  28. data/lib/card/query/join.rb +4 -2
  29. data/lib/card/query/sorting.rb +26 -22
  30. data/lib/card/reference.rb +2 -2
  31. data/lib/card/set/advanced_api.rb +31 -6
  32. data/lib/card/set/event.rb +16 -8
  33. data/lib/card/set/format.rb +15 -0
  34. data/lib/card/set/format/haml_views.rb +78 -0
  35. data/lib/card/set/loader.rb +3 -2
  36. data/lib/cardio.rb +17 -1
  37. data/mod/Modfile +2 -1
  38. data/mod/account/spec/set/all/account_spec.rb +1 -1
  39. data/mod/basic_formats/set/all/all_css.rb +4 -5
  40. data/mod/bootstrap/set/all/bootstrap/navbar.rb +6 -0
  41. data/mod/bootstrap/set/all/bootstrap/tabs.rb +13 -6
  42. data/mod/carrierwave/set/abstract/attachment/upload_cache.rb +6 -0
  43. data/mod/core/set/all/assign_attributes.rb +3 -0
  44. data/mod/core/set/all/fetch.rb +3 -3
  45. data/mod/core/spec/set/all/collection_spec.rb +5 -3
  46. data/mod/history/lib/card/change.rb +2 -2
  47. data/mod/machines/file/all_script_machine_output/file.js +37 -121
  48. data/mod/machines/file/all_style_machine_output/file.css +4 -4
  49. data/mod/machines/lib/javascript/wagn.js.coffee +4 -0
  50. data/mod/machines/lib/javascript/wagn_mod.js.coffee +0 -2
  51. data/mod/machines/set/type/css.rb +6 -0
  52. data/mod/{email → notifications}/format/email_html_format.rb +0 -0
  53. data/mod/{email → notifications}/format/email_text_format.rb +0 -0
  54. data/mod/{email → notifications}/lib/card/follow_option.rb +0 -0
  55. data/mod/{email → notifications}/set/abstract/test_context.rb +0 -0
  56. data/mod/{email → notifications}/set/all/email_html.rb +0 -0
  57. data/mod/{email → notifications}/set/all/email_text.rb +0 -0
  58. data/mod/{email → notifications}/set/all/follow.rb +0 -0
  59. data/mod/notifications/set/all/observer.rb +22 -0
  60. data/mod/{email/set/all/notify.rb → notifications/set/all/send_notifications.rb} +0 -0
  61. data/mod/notifications/set/all/show_notifications.rb +7 -0
  62. data/mod/{email → notifications}/set/right/bcc.rb +0 -0
  63. data/mod/{email → notifications}/set/right/cc.rb +0 -0
  64. data/mod/{email → notifications}/set/right/follow.rb +0 -0
  65. data/mod/{email → notifications}/set/right/follow_fields.rb +0 -0
  66. data/mod/{email → notifications}/set/right/followers.rb +0 -0
  67. data/mod/{email → notifications}/set/right/following.rb +0 -0
  68. data/mod/{email → notifications}/set/right/from.rb +0 -0
  69. data/mod/{email → notifications}/set/right/html_message.rb +0 -0
  70. data/mod/{email → notifications}/set/right/subject.rb +0 -0
  71. data/mod/{email → notifications}/set/right/text_message.rb +0 -0
  72. data/mod/{email → notifications}/set/right/to.rb +0 -0
  73. data/mod/{email → notifications}/set/self/always.rb +0 -0
  74. data/mod/{email → notifications}/set/self/created.rb +0 -0
  75. data/mod/{email → notifications}/set/self/edited.rb +0 -0
  76. data/mod/{email → notifications}/set/self/follow.rb +0 -0
  77. data/mod/{email → notifications}/set/self/follow_defaults.rb +0 -0
  78. data/mod/{email → notifications}/set/self/never.rb +0 -0
  79. data/mod/{email → notifications}/set/type/email_template.rb +0 -0
  80. data/mod/{email → notifications}/set/type/email_template/email_config.rb +0 -0
  81. data/mod/notifications/set/type/notification_template.rb +23 -0
  82. data/mod/{email → notifications}/set/type_plus_right/user/follow.rb +0 -0
  83. data/mod/{email → notifications}/spec/set/all/follow_spec.rb +14 -5
  84. data/mod/{email → notifications}/spec/set/all/notify_spec.rb +1 -1
  85. data/mod/{email → notifications}/spec/set/all/observer_spec.rb +1 -1
  86. data/mod/{email → notifications}/spec/set/right/followers_spec.rb +0 -0
  87. data/mod/{email → notifications}/spec/set/right/following_spec.rb +0 -0
  88. data/mod/{email → notifications}/spec/set/self/follow_defaults_spec.rb +0 -0
  89. data/mod/notifications/spec/set/type/notification_template_spec.rb +58 -0
  90. data/mod/{standard/set/abstract/search/paging.rb → pointer/set/abstract/00_paging.rb} +10 -1
  91. data/mod/{standard/set/abstract/search/paging → pointer/set/abstract/00_paging}/paging_links.rb +0 -0
  92. data/mod/pointer/set/abstract/01_pointer.rb +13 -1
  93. data/mod/pointer/spec/set/type/pointer_spec.rb +7 -0
  94. data/mod/standard/set/abstract/01_search_params.rb +4 -0
  95. data/mod/standard/set/abstract/search.rb +1 -0
  96. data/mod/standard/set/abstract/wql_search.rb +6 -4
  97. data/mod/standard/set/all/rich_html/toolbar.rb +31 -16
  98. data/mod/standard/set/all/rich_html/wrapper.rb +3 -1
  99. data/mod/standard/set/self/search.rb +28 -8
  100. data/mod/standard/set/type/search_type.rb +10 -8
  101. data/mod/standard/spec/set/all/rich_html/editing_spec.rb +2 -1
  102. data/mod/standard/spec/set/all/rich_html/form_spec.rb +2 -2
  103. data/mod/standard/spec/set/self/search_spec.rb +8 -1
  104. data/mod/standard/spec/set/type/phrase_spec.rb +2 -1
  105. data/mod/twitter/Gemfile +3 -0
  106. data/mod/twitter/db/migrate_cards/20170305112346_add_twitter_cards.rb +30 -0
  107. data/mod/twitter/set/type/twitter_template.rb +22 -0
  108. data/spec/lib/card/query/sorting_spec.rb +68 -0
  109. data/spec/lib/card/query_spec.rb +0 -65
  110. metadata +78 -40
  111. data/mod/email/set/all/observer.rb +0 -26
  112. data/mod/standard/spec/set/all/email_html_spec.rb +0 -15
@@ -109,6 +109,7 @@ format :html do
109
109
  [
110
110
  _optional_render_header,
111
111
  frame_help,
112
+ _optional_render(:flash),
112
113
  wrap_body { yield }
113
114
  ]
114
115
  end
@@ -130,9 +131,10 @@ format :html do
130
131
  end
131
132
 
132
133
  # alert_types: 'success', 'info', 'warning', 'danger'
133
- def alert alert_type, dismissable=false
134
+ def alert alert_type, dismissable=false, disappear=false
134
135
  classes = ["alert", "alert-#{alert_type}"]
135
136
  classes << "alert-dismissible " if dismissable
137
+ classes << "_disappear" if disappear
136
138
 
137
139
  wrap_with :div, class: classy(classes), role: "alert" do
138
140
  [(alert_close_button if dismissable), output(yield)]
@@ -1,14 +1,19 @@
1
1
  include_set Abstract::SearchParams
2
2
 
3
- format do
4
- def extra_paging_path_args
5
- vars = query_with_params.vars
6
- return {} unless vars.is_a? Hash
7
- vars.each_with_object({}) do |(key, value), hash|
8
- hash["_#{key}"] = value
9
- end
10
- end
3
+ def query_args args={}
4
+ return super unless keyword_contains_wql? args
5
+ args.merge parse_keyword_wql(args)
6
+ end
7
+
8
+ def parse_keyword_wql args
9
+ parse_json_query(args[:vars][:keyword])
10
+ end
11
+
12
+ def keyword_contains_wql? hash
13
+ hash[:vars] && (keyword = hash[:vars][:keyword]) && keyword =~ /^\{.+\}$/
14
+ end
11
15
 
16
+ format do
12
17
  def default_search_params
13
18
  hash = super
14
19
  hash[:vars] = params[:vars] || {}
@@ -18,9 +23,24 @@ format do
18
23
  end
19
24
  hash
20
25
  end
26
+
27
+ view :search_error, cache: :never do
28
+ sr_class = search_with_params.class.to_s
29
+
30
+ # don't show card content; not very helpful in this case
31
+ %(#{sr_class} :: #{search_with_params.message})
32
+ end
21
33
  end
22
34
 
23
35
  format :html do
36
+ def extra_paging_path_args
37
+ vars = query_with_params.vars
38
+ return {} unless vars.is_a? Hash
39
+ vars.each_with_object({}) do |(key, value), hash|
40
+ hash["_#{key}"] = value
41
+ end
42
+ end
43
+
24
44
  view :title, cache: :never do
25
45
  vars = root.search_params[:vars]
26
46
  if vars && vars[:keyword]
@@ -3,19 +3,21 @@ include_set Abstract::WqlSearch
3
3
 
4
4
  format do
5
5
  view :core, cache: :never do
6
- _render(
7
- case search_with_params
8
- when Exception then :search_error
9
- when Integer then :search_count
10
- when @mode == :template then :raw
11
- else :card_list
12
- end
13
- )
6
+ _render search_result_view
14
7
  end
15
8
 
16
9
  def chunk_list
17
10
  :query
18
11
  end
12
+
13
+ def search_result_view
14
+ case search_with_params
15
+ when Exception then :search_error
16
+ when Integer then :search_count
17
+ when @mode == :template then :raw
18
+ else :card_list
19
+ end
20
+ end
19
21
  end
20
22
 
21
23
  format :json do
@@ -7,7 +7,8 @@ describe Card::Set::All::RichHtml::Editing do
7
7
 
8
8
  def assert_active_toolbar_pill view, content, related_view=false
9
9
  view_selector = related_view ? "related" : view
10
- assert_view_select @mycard.render(view), "div[class~='card-slot #{view_selector}-view']" do
10
+ assert_view_select @mycard.render(view),
11
+ "div[class~='card-slot #{view_selector}-view']" do
11
12
  assert_select 'nav[class="slotter toolbar navbar navbar-inverse"]' do
12
13
  assert_select 'ul[class="nav navbar-nav nav-pills"]' do
13
14
  assert_select 'li[class~="active"] > a', content
@@ -10,10 +10,10 @@ describe Card::Set::All::RichHtml::Form do
10
10
  expect(@card.format.type_field).to match(/<option [^>]*selected/)
11
11
  tf = @card.format.type_field(no_current_type: true)
12
12
  expect(tf).not_to match(/<option [^>]*selected/)
13
- expect(tf.scan(/<option /).length).to eq(29)
13
+ expect(tf.scan(/<option /).length).to eq(31)
14
14
  tf = @card.format.type_field
15
15
  expect(tf).to match(/<option [^>]*selected/)
16
- expect(tf.scan(/<option /).length).to eq(29)
16
+ expect(tf.scan(/<option /).length).to eq(31)
17
17
  end
18
18
 
19
19
  it "gets type list" do
@@ -1,5 +1,12 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
3
  describe Card::Set::Self::Search do
4
- # SPECSTUB
4
+ def keyword_search value
5
+ Card::Env.params[:vars] = { keyword: value }
6
+ Card[:search].format.search_with_params
7
+ end
8
+
9
+ it "processes wql" do
10
+ expect(keyword_search('{"type":"user"}')).to include Card["Joe User"]
11
+ end
5
12
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  describe Card::Set::Type::Phrase do
4
4
  it "has special editor" do
5
- assert_view_select render_editor("Phrase"), 'input[type="text"][class~="card-content"]'
5
+ assert_view_select render_editor("Phrase"),
6
+ 'input[type="text"][class~="card-content"]'
6
7
  end
7
8
  end
@@ -0,0 +1,3 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem "twitter"
@@ -0,0 +1,30 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ class AddTwitterCards < Card::Migration
4
+ def up
5
+ ensure_card name: "Twitter template", codename: "twitter_template",
6
+ type_id: Card::CardtypeID
7
+ ensure_card name: "*message", codename: "message"
8
+
9
+ [["*consumer key", "consumer_key"],
10
+ ["*consumer secret", "consumer_secret"],
11
+ ["*access token", "access_token"],
12
+ ["*access secret", "access_secret"]].each do |name, key|
13
+ ensure_trait name, codename: key,
14
+ default: { type_id: Card::PhraseID },
15
+ read: "Administrator"
16
+ end
17
+
18
+ Card::Cache.reset_all
19
+
20
+ ensure_card name: [:twitter_template, :type, :structure],
21
+ content: structure
22
+ end
23
+
24
+ def structure
25
+ ["*message", "*consumer key", "*consumer secret", "*access token",
26
+ "*access secret"].map do |name|
27
+ "{{+#{name}}}"
28
+ end.join "\n"
29
+ end
30
+ end
@@ -0,0 +1,22 @@
1
+ card_reader :consumer_key
2
+ card_reader :consumer_secret
3
+ card_reader :access_token
4
+ card_reader :access_secret
5
+
6
+ card_reader :message
7
+
8
+ require 'twitter'
9
+
10
+ def deliver args={}
11
+ client.update message_card.contextual_content(args[:context])
12
+ end
13
+
14
+ def client
15
+ @client ||=
16
+ ::Twitter::REST::Client.new do |config|
17
+ config.consumer_key = consumer_key
18
+ config.consumer_secret = consumer_secret
19
+ config.access_token = access_token
20
+ config.access_token_secret = access_secret
21
+ end
22
+ end
@@ -0,0 +1,68 @@
1
+ describe Card::Query, "sorting" do
2
+ subject do
3
+ Card::Query.run @query.reverse_merge return: :name, sort: :name
4
+ end
5
+
6
+ it "sorts by create" do
7
+ Card.create! name: "classic bootstrap skin head"
8
+ # classic skin head is created more recently than classic skin,
9
+ # which is in the seed data
10
+ @query = { sort: "create", name: [:match, "classic bootstrap skin"] }
11
+ is_expected.to eq(
12
+ ["classic bootstrap skin", "classic bootstrap skin head"]
13
+ )
14
+ end
15
+
16
+ it "sorts by name" do
17
+ @query = { name: %w(in B Z A Y C X), sort: "name", dir: "desc" }
18
+ is_expected.to eq(%w(Z Y X C B A))
19
+ end
20
+
21
+ it "sorts by content" do
22
+ @query = { name: %w(in Z T A), sort: "content" }
23
+ is_expected.to eq(%w(A Z T))
24
+ end
25
+
26
+ it "plays nice with match" do
27
+ @query = { match: "Z", type: "Basic", sort: "content" }
28
+ is_expected.to eq(%w(A B Z))
29
+ end
30
+
31
+ it "sorts by plus card content" do
32
+ Card::Auth.as_bot do
33
+ c = Card.fetch("Setting+*self+*table of contents")
34
+ c.content = "10"
35
+ c.save
36
+ Card.create! name: "Basic+*type+*table of contents", content: "3"
37
+
38
+ @query = {
39
+ right_plus: "*table of contents",
40
+ sort: { right: "*table_of_contents" },
41
+ sort_as: "integer"
42
+ }
43
+ is_expected.to eq(%w(*all Basic+*type Setting+*self))
44
+ end
45
+ end
46
+
47
+ it "sorts by count" do
48
+ Card::Auth.as_bot do
49
+ @query = {
50
+ name: [:in, "*always", "*never", "*edited"],
51
+ sort: { right: "*follow", item: "referred_to", return: "count" }
52
+ }
53
+ is_expected.to eq(["*never", "*edited", "*always"])
54
+ end
55
+ end
56
+
57
+ # it 'sorts by update' do
58
+ # # do this on a restricted set so it won't change every time we
59
+ # # add a card..
60
+ # Card::Query.run(
61
+ # match: 'two', sort: 'update', dir: 'desc'
62
+ # ).map(&:name).should == ['One+Two+Three', 'One+Two','Two','Joe User']
63
+ # Card['Two'].update_attributes! content: 'new bar'
64
+ # Card::Query.run(
65
+ # match: 'two', sort: 'update', dir: 'desc'
66
+ # ).map(&:name).should == ['Two','One+Two+Three', 'One+Two','Joe User']
67
+ # end
68
+ end
@@ -419,71 +419,6 @@ RSpec.describe Card::Query do
419
419
  end
420
420
  end
421
421
 
422
- describe "order" do
423
- it "sorts by create" do
424
- Card.create! name: "classic bootstrap skin head"
425
- # classic skin head is created more recently than classic skin,
426
- # which is in the seed data
427
- @query = { sort: "create", name: [:match, "classic bootstrap skin"] }
428
- is_expected.to eq(
429
- ["classic bootstrap skin", "classic bootstrap skin head"]
430
- )
431
- end
432
-
433
- it "sorts by name" do
434
- @query = { name: %w(in B Z A Y C X), sort: "name", dir: "desc" }
435
- is_expected.to eq(%w(Z Y X C B A))
436
- end
437
-
438
- it "sorts by content" do
439
- @query = { name: %w(in Z T A), sort: "content" }
440
- is_expected.to eq(%w(A Z T))
441
- end
442
-
443
- it "plays nice with match" do
444
- @query = { match: "Z", type: "Basic", sort: "content" }
445
- is_expected.to eq(%w(A B Z))
446
- end
447
-
448
- it "sorts by plus card content" do
449
- Card::Auth.as_bot do
450
- c = Card.fetch("Setting+*self+*table of contents")
451
- c.content = "10"
452
- c.save
453
- Card.create! name: "Basic+*type+*table of contents", content: "3"
454
-
455
- @query = {
456
- right_plus: "*table of contents",
457
- sort: { right: "*table_of_contents" },
458
- sort_as: "integer"
459
- }
460
- is_expected.to eq(%w(*all Basic+*type Setting+*self))
461
- end
462
- end
463
-
464
- it "sorts by count" do
465
- Card::Auth.as_bot do
466
- @query = {
467
- name: [:in, "*always", "*never", "*edited"],
468
- sort: { right: "*follow", item: "referred_to", return: "count" }
469
- }
470
- is_expected.to eq(["*never", "*edited", "*always"])
471
- end
472
- end
473
-
474
- # it 'sorts by update' do
475
- # # do this on a restricted set so it won't change every time we
476
- # # add a card..
477
- # Card::Query.run(
478
- # match: 'two', sort: 'update', dir: 'desc'
479
- # ).map(&:name).should == ['One+Two+Three', 'One+Two','Two','Joe User']
480
- # Card['Two'].update_attributes! content: 'new bar'
481
- # Card::Query.run(
482
- # match: 'two', sort: 'update', dir: 'desc'
483
- # ).map(&:name).should == ['Two','One+Two+Three', 'One+Two','Joe User']
484
- # end
485
- end
486
-
487
422
  describe "match" do
488
423
  it "reachs content and name via shortcut" do
489
424
  @query = { match: "two" }
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.20.2
4
+ version: 1.20.3
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: 2017-03-02 00:00:00.000000000 Z
14
+ date: 2017-04-13 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: smartname
@@ -237,6 +237,34 @@ dependencies:
237
237
  - - '='
238
238
  - !ruby/object:Gem::Version
239
239
  version: 2.99.1
240
+ - !ruby/object:Gem::Dependency
241
+ name: twitter
242
+ requirement: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - '='
245
+ - !ruby/object:Gem::Version
246
+ version: 6.1.0
247
+ type: :runtime
248
+ prerelease: false
249
+ version_requirements: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - '='
252
+ - !ruby/object:Gem::Version
253
+ version: 6.1.0
254
+ - !ruby/object:Gem::Dependency
255
+ name: colorize
256
+ requirement: !ruby/object:Gem::Requirement
257
+ requirements:
258
+ - - '='
259
+ - !ruby/object:Gem::Version
260
+ version: 0.8.1
261
+ type: :runtime
262
+ prerelease: false
263
+ version_requirements: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - '='
266
+ - !ruby/object:Gem::Version
267
+ version: 0.8.1
240
268
  description: Cards are wiki-inspired data atoms."Cardists" use links, nests, types,
241
269
  patterned names, queries, views, events, and rules to create rich structures.
242
270
  email:
@@ -258,6 +286,7 @@ files:
258
286
  - config/initializers/01_core_extensions/module.rb
259
287
  - config/initializers/01_core_extensions/object.rb
260
288
  - config/initializers/01_core_extensions/persistent_identifiers.rb
289
+ - config/initializers/02_patches/active_record.rb
261
290
  - config/initializers/02_patches/better_errors.rb
262
291
  - config/initializers/02_patches/kaminari.rb
263
292
  - config/initializers/core_extensions.rb
@@ -342,6 +371,7 @@ files:
342
371
  - db/migrate_core_cards/20161102202156_tweak_recaptcha_setting_cards.rb
343
372
  - db/migrate_core_cards/20161103154836_update_keys.rb
344
373
  - db/migrate_core_cards/20170209132834_email_test_context.rb
374
+ - db/migrate_core_cards/20170314175313_add_notification_event_card.rb
345
375
  - db/migrate_core_cards/data/1.11_help_text.json
346
376
  - db/migrate_core_cards/data/1.12_stylesheets/classic_cards.scss
347
377
  - db/migrate_core_cards/data/1.12_stylesheets/common.scss
@@ -491,6 +521,7 @@ files:
491
521
  - lib/card/set/basket.rb
492
522
  - lib/card/set/event.rb
493
523
  - lib/card/set/format.rb
524
+ - lib/card/set/format/haml_views.rb
494
525
  - lib/card/set/helpers.rb
495
526
  - lib/card/set/i18n_scope.rb
496
527
  - lib/card/set/inheritance.rb
@@ -870,41 +901,6 @@ files:
870
901
  - mod/developer/set/right/debug.rb
871
902
  - mod/developer/spec/set/all/event_viz_spec.rb
872
903
  - mod/developer/spec/set/right/debug_spec.rb
873
- - mod/email/format/email_html_format.rb
874
- - mod/email/format/email_text_format.rb
875
- - mod/email/lib/card/follow_option.rb
876
- - mod/email/set/abstract/test_context.rb
877
- - mod/email/set/all/email_html.rb
878
- - mod/email/set/all/email_text.rb
879
- - mod/email/set/all/follow.rb
880
- - mod/email/set/all/notify.rb
881
- - mod/email/set/all/observer.rb
882
- - mod/email/set/right/bcc.rb
883
- - mod/email/set/right/cc.rb
884
- - mod/email/set/right/follow.rb
885
- - mod/email/set/right/follow_fields.rb
886
- - mod/email/set/right/followers.rb
887
- - mod/email/set/right/following.rb
888
- - mod/email/set/right/from.rb
889
- - mod/email/set/right/html_message.rb
890
- - mod/email/set/right/subject.rb
891
- - mod/email/set/right/text_message.rb
892
- - mod/email/set/right/to.rb
893
- - mod/email/set/self/always.rb
894
- - mod/email/set/self/created.rb
895
- - mod/email/set/self/edited.rb
896
- - mod/email/set/self/follow.rb
897
- - mod/email/set/self/follow_defaults.rb
898
- - mod/email/set/self/never.rb
899
- - mod/email/set/type/email_template.rb
900
- - mod/email/set/type/email_template/email_config.rb
901
- - mod/email/set/type_plus_right/user/follow.rb
902
- - mod/email/spec/set/all/follow_spec.rb
903
- - mod/email/spec/set/all/notify_spec.rb
904
- - mod/email/spec/set/all/observer_spec.rb
905
- - mod/email/spec/set/right/followers_spec.rb
906
- - mod/email/spec/set/right/following_spec.rb
907
- - mod/email/spec/set/self/follow_defaults_spec.rb
908
904
  - mod/history/lib/card/act.rb
909
905
  - mod/history/lib/card/act/act_renderer.rb
910
906
  - mod/history/lib/card/act/act_renderer/absolute_act_renderer.rb
@@ -971,8 +967,48 @@ files:
971
967
  - mod/machines/spec/set/type/skin_spec.rb
972
968
  - mod/machines/spec/shared_examples/machine.rb
973
969
  - mod/machines/spec/shared_examples/machine_input.rb
970
+ - mod/notifications/format/email_html_format.rb
971
+ - mod/notifications/format/email_text_format.rb
972
+ - mod/notifications/lib/card/follow_option.rb
973
+ - mod/notifications/set/abstract/test_context.rb
974
+ - mod/notifications/set/all/email_html.rb
975
+ - mod/notifications/set/all/email_text.rb
976
+ - mod/notifications/set/all/follow.rb
977
+ - mod/notifications/set/all/observer.rb
978
+ - mod/notifications/set/all/send_notifications.rb
979
+ - mod/notifications/set/all/show_notifications.rb
980
+ - mod/notifications/set/right/bcc.rb
981
+ - mod/notifications/set/right/cc.rb
982
+ - mod/notifications/set/right/follow.rb
983
+ - mod/notifications/set/right/follow_fields.rb
984
+ - mod/notifications/set/right/followers.rb
985
+ - mod/notifications/set/right/following.rb
986
+ - mod/notifications/set/right/from.rb
987
+ - mod/notifications/set/right/html_message.rb
988
+ - mod/notifications/set/right/subject.rb
989
+ - mod/notifications/set/right/text_message.rb
990
+ - mod/notifications/set/right/to.rb
991
+ - mod/notifications/set/self/always.rb
992
+ - mod/notifications/set/self/created.rb
993
+ - mod/notifications/set/self/edited.rb
994
+ - mod/notifications/set/self/follow.rb
995
+ - mod/notifications/set/self/follow_defaults.rb
996
+ - mod/notifications/set/self/never.rb
997
+ - mod/notifications/set/type/email_template.rb
998
+ - mod/notifications/set/type/email_template/email_config.rb
999
+ - mod/notifications/set/type/notification_template.rb
1000
+ - mod/notifications/set/type_plus_right/user/follow.rb
1001
+ - mod/notifications/spec/set/all/follow_spec.rb
1002
+ - mod/notifications/spec/set/all/notify_spec.rb
1003
+ - mod/notifications/spec/set/all/observer_spec.rb
1004
+ - mod/notifications/spec/set/right/followers_spec.rb
1005
+ - mod/notifications/spec/set/right/following_spec.rb
1006
+ - mod/notifications/spec/set/self/follow_defaults_spec.rb
1007
+ - mod/notifications/spec/set/type/notification_template_spec.rb
974
1008
  - mod/pointer/db/migrate_cards/20160804112340_add_pointer_cards.rb
975
1009
  - mod/pointer/lib/javascript/script_pointer_config.js.coffee
1010
+ - mod/pointer/set/abstract/00_paging.rb
1011
+ - mod/pointer/set/abstract/00_paging/paging_links.rb
976
1012
  - mod/pointer/set/abstract/01_pointer.rb
977
1013
  - mod/pointer/set/abstract/01_pointer/edit.rb
978
1014
  - mod/pointer/set/abstract/code_pointer.rb
@@ -1061,8 +1097,6 @@ files:
1061
1097
  - mod/standard/file/logo/image-small.png
1062
1098
  - mod/standard/set/abstract/01_search_params.rb
1063
1099
  - mod/standard/set/abstract/search.rb
1064
- - mod/standard/set/abstract/search/paging.rb
1065
- - mod/standard/set/abstract/search/paging/paging_links.rb
1066
1100
  - mod/standard/set/abstract/wql_search.rb
1067
1101
  - mod/standard/set/all/comment.rb
1068
1102
  - mod/standard/set/all/error.rb
@@ -1116,7 +1150,6 @@ files:
1116
1150
  - mod/standard/spec/format/rss_format_spec.rb
1117
1151
  - mod/standard/spec/format/xml_format_spec.rb
1118
1152
  - mod/standard/spec/set/all/comment_spec.rb
1119
- - mod/standard/spec/set/all/email_html_spec.rb
1120
1153
  - mod/standard/spec/set/all/error_spec.rb
1121
1154
  - mod/standard/spec/set/all/history_spec.rb
1122
1155
  - mod/standard/spec/set/all/links_spec.rb
@@ -1155,6 +1188,9 @@ files:
1155
1188
  - mod/tinymce_editor/set/abstract/tinymce_editor.rb
1156
1189
  - mod/tinymce_editor/set/self/script_tinymce.rb
1157
1190
  - mod/tinymce_editor/set/self/script_tinymce_config.rb
1191
+ - mod/twitter/Gemfile
1192
+ - mod/twitter/db/migrate_cards/20170305112346_add_twitter_cards.rb
1193
+ - mod/twitter/set/type/twitter_template.rb
1158
1194
  - spec/config/initializers/core_extensions_spec.rb
1159
1195
  - spec/lib/card/action_spec.rb
1160
1196
  - spec/lib/card/auth_spec.rb
@@ -1172,6 +1208,7 @@ files:
1172
1208
  - spec/lib/card/loader_spec.rb
1173
1209
  - spec/lib/card/migration/import_spec.rb
1174
1210
  - spec/lib/card/name_spec.rb
1211
+ - spec/lib/card/query/sorting_spec.rb
1175
1212
  - spec/lib/card/query_spec.rb
1176
1213
  - spec/lib/card/reference_spec.rb
1177
1214
  - spec/lib/card/set/trait_spec.rb
@@ -1444,6 +1481,7 @@ test_files:
1444
1481
  - spec/lib/card/loader_spec.rb
1445
1482
  - spec/lib/card/migration/import_spec.rb
1446
1483
  - spec/lib/card/name_spec.rb
1484
+ - spec/lib/card/query/sorting_spec.rb
1447
1485
  - spec/lib/card/query_spec.rb
1448
1486
  - spec/lib/card/reference_spec.rb
1449
1487
  - spec/lib/card/set/trait_spec.rb