card 1.20.0 → 1.20.1
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 +1 -1
- data/lib/card.rb +7 -3
- data/lib/card/act_manager/stage_director.rb +22 -10
- data/lib/card/cache/persistent.rb +15 -9
- data/lib/card/format/nest.rb +12 -5
- data/lib/card/format/nest/fetch.rb +2 -1
- data/lib/card/format/render.rb +5 -2
- data/lib/card/set/event.rb +7 -1
- data/lib/card/subcards.rb +3 -3
- data/lib/card/view/cache.rb +1 -1
- data/lib/card/view/fetch.rb +17 -5
- data/lib/card/view/options.rb +52 -26
- data/lib/cardio.rb +2 -1
- data/mod/account/spec/set/right/account_spec.rb +17 -3
- data/mod/admin/set/self/admin.rb +0 -2
- data/mod/admin/spec/set/self/admin_spec.rb +14 -11
- data/mod/bootstrap/set/all/bootstrap/helper.rb +27 -29
- data/mod/carrierwave/set/type/file.rb +1 -1
- data/mod/carrierwave/set/type/image.rb +18 -6
- data/mod/core/set/all/collection.rb +33 -7
- data/mod/core/set/all/fetch.rb +16 -3
- data/mod/core/set/all/permissions.rb +6 -12
- data/mod/core/set/all/trash.rb +3 -1
- data/mod/core/spec/set/all/collection_spec.rb +9 -8
- data/mod/email/set/all/notify.rb +27 -17
- data/mod/email/set/right/follow.rb +49 -36
- data/mod/email/set/type/email_template.rb +25 -69
- data/mod/email/set/type/email_template/email_config.rb +63 -0
- data/mod/email/set/type_plus_right/user/follow.rb +3 -3
- data/mod/machines/lib/stylesheets/style_cards.scss +292 -0
- data/mod/pointer/set/abstract/01_pointer.rb +8 -8
- data/mod/pointer/set/abstract/01_pointer/edit.rb +6 -2
- data/mod/prosemirror_editor/lib/javascript/script_prosemirror.js +12283 -11605
- data/mod/prosemirror_editor/lib/javascript/script_prosemirror_config.js.coffee +1 -1
- data/mod/standard/set/abstract/01_search_params.rb +1 -1
- data/mod/standard/set/abstract/search/paging.rb +4 -4
- data/mod/standard/set/all/comment.rb +67 -47
- data/mod/standard/set/all/links.rb +2 -2
- data/mod/standard/set/all/rich_html/content.rb +1 -1
- data/mod/standard/set/all/rich_html/editing.rb +3 -2
- data/mod/standard/set/all/rich_html/form.rb +21 -12
- data/mod/standard/set/all/rich_html/header.rb +9 -0
- data/mod/standard/set/all/rich_html/menu.rb +16 -12
- data/mod/standard/set/all/rich_html/toolbar.rb +140 -130
- data/mod/standard/set/all/rich_html/wrapper.rb +11 -1
- data/mod/standard/set/rstar/rules_editor.rb +2 -34
- data/mod/standard/set/self/search.rb +1 -1
- data/mod/standard/set/type/set.rb +4 -4
- data/mod/standard/spec/set/type/email_template/email_config_spec.rb +218 -0
- data/mod/standard/spec/set/type/email_template_spec.rb +3 -185
- data/spec/lib/card/cache_spec.rb +0 -1
- data/spec/lib/card/format/render_spec.rb +19 -0
- data/spec/lib/card/stage_director_spec.rb +1 -1
- data/tmpsets/set/mod001-core/all/actify.rb +5 -6
- data/tmpsets/set/mod001-core/all/fetch.rb +14 -12
- data/tmpsets/set/mod001-core/all/name.rb +1 -1
- data/tmpsets/set/mod001-core/all/permissions.rb +12 -22
- data/tmpsets/set/mod001-core/all/tracked_attributes.rb +76 -0
- data/tmpsets/set/mod001-core/all/utils.rb +40 -3
- data/tmpsets/set/mod002-history/all/history.rb +1 -2
- data/tmpsets/set/mod008-solid_cache/abstract/solid_cache.rb +1 -1
- data/tmpsets/set/mod013-carrierwave/abstract/attachment.rb +282 -0
- data/tmpsets/set/mod013-carrierwave/type/file.rb +155 -0
- data/tmpsets/set/mod013-carrierwave/type/image.rb +96 -0
- data/tmpsets/set/mod014-admin/self/admin.rb +113 -0
- data/tmpsets/set/mod014-admin/self/admin_info.rb +110 -0
- data/tmpsets/set/mod014-admin/self/version.rb +15 -0
- data/tmpsets/set/mod015-developer/all/event_viz.rb +59 -0
- data/tmpsets/set/mod015-developer/all/view_viz.rb +30 -0
- data/tmpsets/set/mod015-developer/right/debug.rb +96 -0
- metadata +15 -2
@@ -0,0 +1,15 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; class Self; module Version; extend Card::Set
|
3
|
+
# ~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/admin/set/self/version.rb ~~
|
4
|
+
# -*- encoding : utf-8 -*-
|
5
|
+
require_dependency "card/version"
|
6
|
+
|
7
|
+
view :raw do |_args|
|
8
|
+
Card::Version.release
|
9
|
+
end
|
10
|
+
|
11
|
+
view :core, :raw
|
12
|
+
|
13
|
+
|
14
|
+
# ~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/admin/set/self/version.rb ~~
|
15
|
+
end;end;end;end;
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; class All; module EventViz; extend Card::Set
|
3
|
+
# ~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/developer/set/all/event_viz.rb ~~
|
4
|
+
require_dependency 'active_support/callbacks_ext'
|
5
|
+
|
6
|
+
# the events method is a developer's tool for visualizing the event order
|
7
|
+
# for a given card.
|
8
|
+
# For example, from a console you might run
|
9
|
+
#
|
10
|
+
# puts mycard.events :update
|
11
|
+
#
|
12
|
+
# to see the order of events that will be executed on mycard.
|
13
|
+
# The indention and arrows (^v) indicate event dependencies.
|
14
|
+
#
|
15
|
+
# Note: as of yet, the functionality is a bit rough. It does not display events
|
16
|
+
# that are called directly from within other events,
|
17
|
+
# and certain event requirements (like the presence of a 'current_act') may
|
18
|
+
# prevent events from showing up in the tree.
|
19
|
+
def events action
|
20
|
+
@action = action
|
21
|
+
events = Card::Stage::STAGES.map { |stage| events_tree("#{stage}_stage") }
|
22
|
+
@action = nil
|
23
|
+
puts_events events
|
24
|
+
end
|
25
|
+
|
26
|
+
# private
|
27
|
+
|
28
|
+
def puts_events events, prefix="", depth=0
|
29
|
+
r = ""
|
30
|
+
depth += 1
|
31
|
+
events.each do |e|
|
32
|
+
space = " " * (depth * 2)
|
33
|
+
|
34
|
+
# FIXME: this is not right. before and around callbacks are processed in
|
35
|
+
# declaration order regardless of kind. not all befores then all arounds
|
36
|
+
e[:before] && r += puts_events(e[:before], space + "v ", depth)
|
37
|
+
e[:around] && r += puts_events(e[:around], space + "vv ", depth)
|
38
|
+
r += "#{prefix}#{e[:name]}\n"
|
39
|
+
e[:after] && r += puts_events(e[:after].reverse, space + "^ ", depth)
|
40
|
+
end
|
41
|
+
r
|
42
|
+
end
|
43
|
+
|
44
|
+
def events_tree filt
|
45
|
+
hash = { name: filt }
|
46
|
+
if respond_to? "_#{filt}_callbacks"
|
47
|
+
send("_#{filt}_callbacks").each do |callback|
|
48
|
+
next unless callback.applies? self
|
49
|
+
hash[callback.kind] ||= []
|
50
|
+
hash[callback.kind] << events_tree(callback.filter)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
hash
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
# ~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/developer/set/all/event_viz.rb ~~
|
59
|
+
end;end;end;end;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; class All; module ViewViz; extend Card::Set
|
3
|
+
# ~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/developer/set/all/view_viz.rb ~~
|
4
|
+
format :html do
|
5
|
+
view :views_by_format do
|
6
|
+
format_views =
|
7
|
+
self.class.ancestors.each_with_object({}) do |format_class, hash|
|
8
|
+
views =
|
9
|
+
format_class.instance_methods.map do |method|
|
10
|
+
next unless method.to_s =~ /^_view_(.+)$/
|
11
|
+
Regexp.last_match(1)
|
12
|
+
end.compact
|
13
|
+
next unless views.present?
|
14
|
+
format_class.name =~ /^Card(::Set)?::(.+?)$/ #::(\w+Format)
|
15
|
+
hash[Regexp.last_match(2)] = views
|
16
|
+
end
|
17
|
+
accordion_group format_views
|
18
|
+
end
|
19
|
+
|
20
|
+
view :views_by_name do
|
21
|
+
views = methods.map do |method|
|
22
|
+
Regexp.last_match(1) if method.to_s =~ /^_view_(.+)$/
|
23
|
+
end.compact.sort
|
24
|
+
list_group views
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
# ~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/developer/set/all/view_viz.rb ~~
|
30
|
+
end;end;end;end;
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class Card; module Set; class Right; module Debug; extend Card::Set
|
3
|
+
# ~~ above autogenerated; below pulled from /Users/ethan/dev/wagn/gem/card/mod/developer/set/right/debug.rb ~~
|
4
|
+
def virtual?
|
5
|
+
true
|
6
|
+
end
|
7
|
+
|
8
|
+
format :html do
|
9
|
+
view :core do |_args|
|
10
|
+
subject = card.left
|
11
|
+
|
12
|
+
output [
|
13
|
+
["Sets",
|
14
|
+
static_tabs("set modules" => set_modules_accordion(subject),
|
15
|
+
"all modules" => singleton_modules_list(subject),
|
16
|
+
"patterns" => set_patterns_breadcrumb(subject))],
|
17
|
+
["Views",
|
18
|
+
static_tabs("by format" => subformat(subject)._render_views_by_format,
|
19
|
+
"by name" => subformat(subject)._render_views_by_name)],
|
20
|
+
["Events",
|
21
|
+
static_tabs(create: "<pre>#{subject.events(:create)}</pre>",
|
22
|
+
update: "<pre>#{subject.events(:update)}</pre>",
|
23
|
+
delete: "<pre>#{subject.events(:delete)}</pre>")],
|
24
|
+
["Cache/DB Comparison", cache_comparison_table(subject)]
|
25
|
+
].map { |item| section(*item) }
|
26
|
+
end
|
27
|
+
|
28
|
+
# rubocop:disable AccessorMethodName
|
29
|
+
def set_modules_accordion subject
|
30
|
+
sets = subject.set_modules.each_with_object({}) do |sm, hash|
|
31
|
+
ans = sm.ancestors
|
32
|
+
ans.shift
|
33
|
+
hash[sm.to_s] = ans
|
34
|
+
end
|
35
|
+
accordion_group sets
|
36
|
+
end
|
37
|
+
|
38
|
+
def set_patterns_breadcrumb subject
|
39
|
+
links = subject.patterns.reverse.map { |pattern| card_link pattern.to_s }
|
40
|
+
breadcrumb(links)
|
41
|
+
end
|
42
|
+
# rubocop:enable AccessorMethodName
|
43
|
+
|
44
|
+
def singleton_modules_list subject
|
45
|
+
all_mods = subject.singleton_class.ancestors.map(&:to_s)
|
46
|
+
all_mods.shift
|
47
|
+
list_group all_mods
|
48
|
+
end
|
49
|
+
|
50
|
+
def cache_comparison_table subject
|
51
|
+
cache_card = Card.fetch(subject.key)
|
52
|
+
db_card = Card.find_by_key(subject.key)
|
53
|
+
return unless cache_card && db_card
|
54
|
+
table(
|
55
|
+
[:name, :updated_at, :updater_id, :content, :inspect].map do |field|
|
56
|
+
[field.to_s,
|
57
|
+
h(cache_card.send(field)),
|
58
|
+
h(db_card.send(field))]
|
59
|
+
end,
|
60
|
+
header: ["Field", "Cache Val", "Database Val"]
|
61
|
+
)
|
62
|
+
end
|
63
|
+
|
64
|
+
def section title, content
|
65
|
+
%(
|
66
|
+
<h2>#{title}</h2>
|
67
|
+
#{content}
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
71
|
+
def class_locations klass
|
72
|
+
methods = defined_methods(klass)
|
73
|
+
file_groups = methods.group_by { |sl| sl[0] }
|
74
|
+
file_counts = file_groups.map do |file, sls|
|
75
|
+
lines = sls.map { |sl| sl[1] }
|
76
|
+
count = lines.size
|
77
|
+
line = lines.min
|
78
|
+
{ file: file, count: count, line: line }
|
79
|
+
end
|
80
|
+
file_counts.sort_by! { |fc| fc[:count] }
|
81
|
+
file_counts.map { |fc| [fc[:file], fc[:line]] }
|
82
|
+
end
|
83
|
+
|
84
|
+
def defined_methods klass
|
85
|
+
methods =
|
86
|
+
klass.methods(false).map { |m| klass.method(m) } +
|
87
|
+
klass.instance_methods(false).map { |m| klass.instance_method(m) }
|
88
|
+
methods.map!(&:source_location)
|
89
|
+
methods.compact!
|
90
|
+
methods
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
|
95
|
+
# ~~ below autogenerated; above pulled from /Users/ethan/dev/wagn/gem/card/mod/developer/set/right/debug.rb ~~
|
96
|
+
end;end;end;end;
|
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.1
|
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-01-
|
14
|
+
date: 2017-01-26 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: smartname
|
@@ -892,6 +892,7 @@ files:
|
|
892
892
|
- mod/email/set/self/follow_defaults.rb
|
893
893
|
- mod/email/set/self/never.rb
|
894
894
|
- mod/email/set/type/email_template.rb
|
895
|
+
- mod/email/set/type/email_template/email_config.rb
|
895
896
|
- mod/email/set/type_plus_right/user/follow.rb
|
896
897
|
- mod/email/spec/set/all/follow_spec.rb
|
897
898
|
- mod/email/spec/set/all/notify_spec.rb
|
@@ -1129,6 +1130,7 @@ files:
|
|
1129
1130
|
- mod/standard/spec/set/type/basic_spec.rb
|
1130
1131
|
- mod/standard/spec/set/type/cardtype_spec.rb
|
1131
1132
|
- mod/standard/spec/set/type/date_spec.rb
|
1133
|
+
- mod/standard/spec/set/type/email_template/email_config_spec.rb
|
1132
1134
|
- mod/standard/spec/set/type/email_template_spec.rb
|
1133
1135
|
- mod/standard/spec/set/type/html_spec.rb
|
1134
1136
|
- mod/standard/spec/set/type/layout_type_spec.rb
|
@@ -1155,6 +1157,7 @@ files:
|
|
1155
1157
|
- spec/lib/card/content_spec.rb
|
1156
1158
|
- spec/lib/card/diff_spec.rb
|
1157
1159
|
- spec/lib/card/format/nest_spec.rb
|
1160
|
+
- spec/lib/card/format/render_spec.rb
|
1158
1161
|
- spec/lib/card/format_spec.rb
|
1159
1162
|
- spec/lib/card/i18n_spec.rb
|
1160
1163
|
- spec/lib/card/loader/Modfile
|
@@ -1323,6 +1326,15 @@ files:
|
|
1323
1326
|
- tmpsets/set/mod012-email/self/never.rb
|
1324
1327
|
- tmpsets/set/mod012-email/type/email_template.rb
|
1325
1328
|
- tmpsets/set/mod012-email/type_plus_right/user/follow.rb
|
1329
|
+
- tmpsets/set/mod013-carrierwave/abstract/attachment.rb
|
1330
|
+
- tmpsets/set/mod013-carrierwave/type/file.rb
|
1331
|
+
- tmpsets/set/mod013-carrierwave/type/image.rb
|
1332
|
+
- tmpsets/set/mod014-admin/self/admin.rb
|
1333
|
+
- tmpsets/set/mod014-admin/self/admin_info.rb
|
1334
|
+
- tmpsets/set/mod014-admin/self/version.rb
|
1335
|
+
- tmpsets/set/mod015-developer/all/event_viz.rb
|
1336
|
+
- tmpsets/set/mod015-developer/all/view_viz.rb
|
1337
|
+
- tmpsets/set/mod015-developer/right/debug.rb
|
1326
1338
|
- tmpsets/set/mod016-standard/all/comment.rb
|
1327
1339
|
- tmpsets/set/mod016-standard/all/error.rb
|
1328
1340
|
- tmpsets/set/mod016-standard/all/links.rb
|
@@ -1426,6 +1438,7 @@ test_files:
|
|
1426
1438
|
- spec/lib/card/content_spec.rb
|
1427
1439
|
- spec/lib/card/diff_spec.rb
|
1428
1440
|
- spec/lib/card/format/nest_spec.rb
|
1441
|
+
- spec/lib/card/format/render_spec.rb
|
1429
1442
|
- spec/lib/card/format_spec.rb
|
1430
1443
|
- spec/lib/card/i18n_spec.rb
|
1431
1444
|
- spec/lib/card/loader/Modfile
|