card-mod-history 0.11.3 → 0.11.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a1d89c343986c8b5b5fd554d51c7f807904bfe8763f69e30de7e1593e8755c9
4
- data.tar.gz: d9aa53b9b9c3537ea17d69ca84971f7368c6fb8262d8f7e3364afac78d23d56a
3
+ metadata.gz: 41d0178f2fba9cab5cbdd1292ec4c4599850a29edbc1070bffb0376940cf73d4
4
+ data.tar.gz: c80f042afcd381951625363007624bacb5667ea529387566ed6dd55c434ffd46
5
5
  SHA512:
6
- metadata.gz: 517b9c124ec692933254249d3fb233745c61cba8ae8e7807a42375d5625cda53a3998109004410b9f6c6e27e846529b24d8ae626b41bbb075d86a9c1a1143d61
7
- data.tar.gz: 409968007818d718ac9b529eecbb15e5a489026c2e01483ba4586732e93b3466ad2e16e433a0aaf87b1c79c24edea96dac502fc3ee076e654e5a1760878e5e95
6
+ metadata.gz: bb75bb9ce90265eadc285d2da4e8537ae8abee8d61cf08297cb62e65c00fecba385c7eb063e1149c734668068d8c0f8f38eaa112927638b27a7f5433fb01ee23
7
+ data.tar.gz: 80b069164b605b311639905435a654ec54fd6034bc28ef88716e6586d4fdaf5e5d9700a11678f2bc2cebeaa2612cd1f0938203408eb037af570cc3cbb0a1cefa
data/lib/card/action.rb CHANGED
@@ -48,7 +48,7 @@ class Card
48
48
  # @return [Action, nil]
49
49
  def fetch id
50
50
  cache.fetch id.to_s do
51
- find id.to_i
51
+ where(id: id.to_i).take
52
52
  end
53
53
  end
54
54
 
@@ -6,13 +6,16 @@ end
6
6
 
7
7
  def action_from_id action_id
8
8
  return unless action_id.is_a?(Integer) || action_id =~ /^\d+$/
9
-
10
- # if not an integer revision id is probably a mod (e.g. if you request
9
+ # if not an integer, action_id is probably a mod (e.g. if you request
11
10
  # files/:logo/standard.png)
12
- action = Action.fetch action_id
13
- return unless action.card_id == id
14
11
 
15
- action
12
+ action_if_on_self Action.fetch(action_id)
13
+ end
14
+
15
+ def action_if_on_self action
16
+ return unless action.is_a? Action
17
+
18
+ action if action.card_id == id
16
19
  end
17
20
 
18
21
  def old_actions
@@ -18,7 +18,7 @@ def actionable?
18
18
  end
19
19
 
20
20
  event :detect_conflict, :validate, on: :update, when: :edit_conflict? do
21
- errors.add :conflict, tr(:error_not_latest_revision)
21
+ errors.add :conflict, Cardio.t(:history_error_not_latest_revision)
22
22
  end
23
23
 
24
24
  def edit_conflict?
@@ -7,25 +7,11 @@ format :html do
7
7
  end
8
8
 
9
9
  view :updated_by, wrap: { div: { class: "text-muted" } } do
10
- return "" unless card.id
11
- updaters = Card.search(updater_of: { id: card.id })
10
+ updaters = Card.search(updater_of: { id: card.id }) if card.id
12
11
  return "" unless updaters.present?
13
12
 
14
- updaters = updater_links updaters, others_target: Card.fetch(card, :editors)
15
- "Updated by #{updaters}"
16
- end
17
-
18
- def updater_links updaters, item_view: :link, max_count: 3, others_target: card
19
- return "" unless updaters.present?
20
-
21
- total = updaters.size
22
- fetch_count = total > max_count ? max_count - 1 : max_count
23
-
24
- reduced = first_card(fetch_count).map { |c| nest c, view: item_view }
25
- if total > max_count
26
- reduced << link_to_card(others_target, "#{total - fetch_count} others")
27
- end
28
- reduced.to_sentence
13
+ links = updater_links updaters, others_target: card.fetch(:editors)
14
+ "Updated by #{links}"
29
15
  end
30
16
 
31
17
  def acts_bridge_layout acts, context=:bridge
@@ -62,4 +48,31 @@ format :html do
62
48
  act_listing(act, opts[:act_seq], :bridge)
63
49
  end
64
50
  end
51
+
52
+ private
53
+
54
+ def updater_links updaters, item_view: :link, max_count: 3, others_target: card
55
+ total = updaters.size
56
+ num_to_show = number_of_updaters_to_show total, max_count
57
+
58
+ links =
59
+ links_to_updaters(updaters, num_to_show, item_view) +
60
+ link_to_other_updaters(total, others_target, num_to_show)
61
+
62
+ links.to_sentence
63
+ end
64
+
65
+ def number_of_updaters_to_show total, max_count
66
+ total > max_count ? max_count - 1 : max_count
67
+ end
68
+
69
+ def links_to_updaters updaters, num_to_show, item_view
70
+ updaters[0..(num_to_show - 1)].map { |c| nest c, view: item_view }
71
+ end
72
+
73
+ def link_to_other_updaters total, target, num_to_show
74
+ return [] unless total > num_to_show
75
+
76
+ link_to_card target, "#{total - num_to_show} others"
77
+ end
65
78
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card-mod-history
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.3
4
+ version: 0.11.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan McCutchen
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-04-01 00:00:00.000000000 Z
13
+ date: 2021-05-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: card
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.101.3
21
+ version: 1.101.4
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 1.101.3
28
+ version: 1.101.4
29
29
  description: ''
30
30
  email:
31
31
  - info@decko.org