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.
- 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
|