card 1.20.2 → 1.20.3

Sign up to get free protection for your applications and to get access to all the features.
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