card 1.20.2 → 1.20.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/card.gemspec +3 -1
- data/config/initializers/01_core_extensions/array.rb +1 -1
- data/config/initializers/01_core_extensions/module.rb +1 -1
- data/config/initializers/02_patches/active_record.rb +66 -0
- data/config/initializers/patches.rb +4 -0
- data/db/migrate_core_cards/20170314175313_add_notification_event_card.rb +21 -0
- data/db/seed/new/card_actions.yml +723 -475
- data/db/seed/new/card_acts.yml +45 -45
- data/db/seed/new/card_changes.yml +2306 -1675
- data/db/seed/new/card_references.yml +389 -116
- data/db/seed/new/cards.yml +2537 -2067
- data/db/seed/test/fixtures/card_actions.yml +1709 -1445
- data/db/seed/test/fixtures/card_acts.yml +302 -290
- data/db/seed/test/fixtures/card_changes.yml +5494 -4818
- data/db/seed/test/fixtures/card_references.yml +1137 -794
- data/db/seed/test/fixtures/cards.yml +3631 -3120
- data/db/version_core_cards.txt +1 -1
- data/lib/card/auth/current.rb +21 -0
- data/lib/card/env.rb +7 -2
- data/lib/card/env/success.rb +13 -3
- data/lib/card/format/render.rb +13 -4
- data/lib/card/migration.rb +4 -6
- data/lib/card/mod/loader.rb +8 -0
- data/lib/card/model/save_helper.rb +45 -0
- data/lib/card/name/view_name.rb +8 -6
- data/lib/card/query/join.rb +4 -2
- data/lib/card/query/sorting.rb +26 -22
- data/lib/card/reference.rb +2 -2
- data/lib/card/set/advanced_api.rb +31 -6
- data/lib/card/set/event.rb +16 -8
- data/lib/card/set/format.rb +15 -0
- data/lib/card/set/format/haml_views.rb +78 -0
- data/lib/card/set/loader.rb +3 -2
- data/lib/cardio.rb +17 -1
- data/mod/Modfile +2 -1
- data/mod/account/spec/set/all/account_spec.rb +1 -1
- data/mod/basic_formats/set/all/all_css.rb +4 -5
- data/mod/bootstrap/set/all/bootstrap/navbar.rb +6 -0
- data/mod/bootstrap/set/all/bootstrap/tabs.rb +13 -6
- data/mod/carrierwave/set/abstract/attachment/upload_cache.rb +6 -0
- data/mod/core/set/all/assign_attributes.rb +3 -0
- data/mod/core/set/all/fetch.rb +3 -3
- data/mod/core/spec/set/all/collection_spec.rb +5 -3
- data/mod/history/lib/card/change.rb +2 -2
- data/mod/machines/file/all_script_machine_output/file.js +37 -121
- data/mod/machines/file/all_style_machine_output/file.css +4 -4
- data/mod/machines/lib/javascript/wagn.js.coffee +4 -0
- data/mod/machines/lib/javascript/wagn_mod.js.coffee +0 -2
- data/mod/machines/set/type/css.rb +6 -0
- data/mod/{email → notifications}/format/email_html_format.rb +0 -0
- data/mod/{email → notifications}/format/email_text_format.rb +0 -0
- data/mod/{email → notifications}/lib/card/follow_option.rb +0 -0
- data/mod/{email → notifications}/set/abstract/test_context.rb +0 -0
- data/mod/{email → notifications}/set/all/email_html.rb +0 -0
- data/mod/{email → notifications}/set/all/email_text.rb +0 -0
- data/mod/{email → notifications}/set/all/follow.rb +0 -0
- data/mod/notifications/set/all/observer.rb +22 -0
- data/mod/{email/set/all/notify.rb → notifications/set/all/send_notifications.rb} +0 -0
- data/mod/notifications/set/all/show_notifications.rb +7 -0
- data/mod/{email → notifications}/set/right/bcc.rb +0 -0
- data/mod/{email → notifications}/set/right/cc.rb +0 -0
- data/mod/{email → notifications}/set/right/follow.rb +0 -0
- data/mod/{email → notifications}/set/right/follow_fields.rb +0 -0
- data/mod/{email → notifications}/set/right/followers.rb +0 -0
- data/mod/{email → notifications}/set/right/following.rb +0 -0
- data/mod/{email → notifications}/set/right/from.rb +0 -0
- data/mod/{email → notifications}/set/right/html_message.rb +0 -0
- data/mod/{email → notifications}/set/right/subject.rb +0 -0
- data/mod/{email → notifications}/set/right/text_message.rb +0 -0
- data/mod/{email → notifications}/set/right/to.rb +0 -0
- data/mod/{email → notifications}/set/self/always.rb +0 -0
- data/mod/{email → notifications}/set/self/created.rb +0 -0
- data/mod/{email → notifications}/set/self/edited.rb +0 -0
- data/mod/{email → notifications}/set/self/follow.rb +0 -0
- data/mod/{email → notifications}/set/self/follow_defaults.rb +0 -0
- data/mod/{email → notifications}/set/self/never.rb +0 -0
- data/mod/{email → notifications}/set/type/email_template.rb +0 -0
- data/mod/{email → notifications}/set/type/email_template/email_config.rb +0 -0
- data/mod/notifications/set/type/notification_template.rb +23 -0
- data/mod/{email → notifications}/set/type_plus_right/user/follow.rb +0 -0
- data/mod/{email → notifications}/spec/set/all/follow_spec.rb +14 -5
- data/mod/{email → notifications}/spec/set/all/notify_spec.rb +1 -1
- data/mod/{email → notifications}/spec/set/all/observer_spec.rb +1 -1
- data/mod/{email → notifications}/spec/set/right/followers_spec.rb +0 -0
- data/mod/{email → notifications}/spec/set/right/following_spec.rb +0 -0
- data/mod/{email → notifications}/spec/set/self/follow_defaults_spec.rb +0 -0
- data/mod/notifications/spec/set/type/notification_template_spec.rb +58 -0
- data/mod/{standard/set/abstract/search/paging.rb → pointer/set/abstract/00_paging.rb} +10 -1
- data/mod/{standard/set/abstract/search/paging → pointer/set/abstract/00_paging}/paging_links.rb +0 -0
- data/mod/pointer/set/abstract/01_pointer.rb +13 -1
- data/mod/pointer/spec/set/type/pointer_spec.rb +7 -0
- data/mod/standard/set/abstract/01_search_params.rb +4 -0
- data/mod/standard/set/abstract/search.rb +1 -0
- data/mod/standard/set/abstract/wql_search.rb +6 -4
- data/mod/standard/set/all/rich_html/toolbar.rb +31 -16
- data/mod/standard/set/all/rich_html/wrapper.rb +3 -1
- data/mod/standard/set/self/search.rb +28 -8
- data/mod/standard/set/type/search_type.rb +10 -8
- data/mod/standard/spec/set/all/rich_html/editing_spec.rb +2 -1
- data/mod/standard/spec/set/all/rich_html/form_spec.rb +2 -2
- data/mod/standard/spec/set/self/search_spec.rb +8 -1
- data/mod/standard/spec/set/type/phrase_spec.rb +2 -1
- data/mod/twitter/Gemfile +3 -0
- data/mod/twitter/db/migrate_cards/20170305112346_add_twitter_cards.rb +30 -0
- data/mod/twitter/set/type/twitter_template.rb +22 -0
- data/spec/lib/card/query/sorting_spec.rb +68 -0
- data/spec/lib/card/query_spec.rb +0 -65
- metadata +78 -40
- data/mod/email/set/all/observer.rb +0 -26
- 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
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
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),
|
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(
|
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(
|
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
|
-
|
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
|
data/mod/twitter/Gemfile
ADDED
@@ -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
|
data/spec/lib/card/query_spec.rb
CHANGED
@@ -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.
|
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-
|
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
|