card-mod-collection 0.13.3 → 0.14.2
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/set/abstract/items.rb +5 -6
- data/set/abstract/paging/paging_links.rb +6 -5
- data/set/abstract/paging.rb +5 -11
- data/set/all/extended.rb +2 -2
- data/set/all/item.rb +11 -10
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24b0a4b03b7c0b961f921db2be11daed010b3965ff1822e5cd4eb26e0639cb25
|
4
|
+
data.tar.gz: 00fed392559e8c1c576454406afab9325a9b12638e30741ba4f64e3bd32ba705
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab9ed226b6098e53b8acdf1b9f9655a95f0fdb5c0b4ed57345bae7165becd341d3a2a884921d8eb27fdc6bde1ab2d2474d191961f3eaa1cf0302c361f8bcc134
|
7
|
+
data.tar.gz: 7c1105a83e423a1168c020f42367fcf3fe59cf42ee3b93796cb11bfa0ea39255ec6bd28490b754c6b2bf31ceaec57085dae8c470b2fea596fa6f6fe247ce138d
|
data/set/abstract/items.rb
CHANGED
@@ -76,7 +76,7 @@ end
|
|
76
76
|
# set card content based on array and save card
|
77
77
|
# @param array [Array] list of strings/names (Cardish)
|
78
78
|
def items= array
|
79
|
-
|
79
|
+
self.content = array
|
80
80
|
save!
|
81
81
|
end
|
82
82
|
|
@@ -92,8 +92,7 @@ end
|
|
92
92
|
def add_item cardish, allow_duplicates=false
|
93
93
|
return if !allow_duplicates && include_item?(cardish)
|
94
94
|
|
95
|
-
|
96
|
-
items_to_content items
|
95
|
+
self.content = (item_strings << cardish)
|
97
96
|
end
|
98
97
|
|
99
98
|
# append item to list and save card
|
@@ -106,7 +105,7 @@ end
|
|
106
105
|
# @param cardish [String, Card::Name] item to drop
|
107
106
|
def drop_item cardish
|
108
107
|
drop_item_name = Card::Name[cardish]
|
109
|
-
|
108
|
+
self.content = (item_names.reject { |item_name| item_name == drop_item_name })
|
110
109
|
end
|
111
110
|
|
112
111
|
# remove item from list and save card
|
@@ -123,7 +122,7 @@ def insert_item index, name
|
|
123
122
|
new_names = item_names
|
124
123
|
new_names.delete name
|
125
124
|
new_names.insert index, name
|
126
|
-
|
125
|
+
self.content = new_names
|
127
126
|
end
|
128
127
|
|
129
128
|
# insert item into list at specified location and save
|
@@ -156,7 +155,7 @@ end
|
|
156
155
|
# TODO: support type_code and type_id. (currently type)
|
157
156
|
# uses name, because its most common use is from CQL
|
158
157
|
def item_type
|
159
|
-
opt =
|
158
|
+
opt = options_card
|
160
159
|
# FIXME: need better recursion prevention
|
161
160
|
return if !opt || opt == self
|
162
161
|
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
# render paging links
|
4
4
|
class PagingLinks
|
5
|
+
MAX_PAGES = 100
|
6
|
+
|
5
7
|
def initialize total_pages, current_page
|
6
8
|
@total = total_pages
|
7
9
|
@current = current_page
|
@@ -44,11 +46,10 @@ class PagingLinks
|
|
44
46
|
end
|
45
47
|
|
46
48
|
def right_part
|
47
|
-
[
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
].compact
|
49
|
+
parts = [next_page_link]
|
50
|
+
parts.unshift direct_page_link(@total) if @total <= MAX_PAGES && @total > @window_end
|
51
|
+
parts.unshift ellipse if @total > @window_end + 1
|
52
|
+
parts
|
52
53
|
end
|
53
54
|
|
54
55
|
def previous_page_link
|
data/set/abstract/paging.rb
CHANGED
@@ -39,20 +39,14 @@ format do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def env_search_param param
|
42
|
-
|
43
|
-
|
44
|
-
val.to_i if focal? && val.present?
|
45
|
-
end
|
46
|
-
end
|
42
|
+
val = Env.params[param]
|
43
|
+
return unless focal? && val.present?
|
47
44
|
|
48
|
-
|
49
|
-
yield.tap do |val|
|
50
|
-
enforce_legal_limit! val if param == :limit
|
51
|
-
end
|
45
|
+
legal_search_param val.to_i
|
52
46
|
end
|
53
47
|
|
54
|
-
def
|
55
|
-
return if Card::Auth.signed_in? ||
|
48
|
+
def legal_search_param val
|
49
|
+
return val if Card::Auth.signed_in? || val <= MAX_ANONYMOUS_SEARCH_PARAM
|
56
50
|
|
57
51
|
raise Card::Error::PermissionDenied,
|
58
52
|
"limit parameter exceeds maximum for anonymous users " \
|
data/set/all/extended.rb
CHANGED
@@ -18,11 +18,11 @@ private
|
|
18
18
|
|
19
19
|
def extend_item_list items, list, book
|
20
20
|
item = items.shift
|
21
|
-
return if already_extended?
|
21
|
+
return if already_extended?(item, book)
|
22
22
|
|
23
23
|
if item.collection?
|
24
24
|
# keep items in order
|
25
|
-
items.unshift(*item.item_cards)
|
25
|
+
items.unshift(*item.item_cards.compact)
|
26
26
|
else # no further level of items
|
27
27
|
list << item
|
28
28
|
end
|
data/set/all/item.rb
CHANGED
@@ -21,13 +21,18 @@ def item_count args={}
|
|
21
21
|
item_names(args).size
|
22
22
|
end
|
23
23
|
|
24
|
-
def
|
25
|
-
|
26
|
-
|
24
|
+
def items_content array
|
25
|
+
standardized_items(array).to_pointer_content
|
26
|
+
end
|
27
|
+
|
28
|
+
def standardized_items array
|
29
|
+
array.map { |i| standardize_item i }.reject(&:blank?)
|
27
30
|
end
|
28
31
|
|
29
32
|
def standardize_item item
|
30
33
|
Card::Name[item]
|
34
|
+
rescue Card::Error::NotFound
|
35
|
+
item
|
31
36
|
end
|
32
37
|
|
33
38
|
def include_item? item
|
@@ -35,23 +40,19 @@ def include_item? item
|
|
35
40
|
end
|
36
41
|
|
37
42
|
def add_item item
|
38
|
-
|
39
|
-
|
40
|
-
items_to_content(items_strings << item)
|
43
|
+
self.content = (item_strings << item) unless include_item? item
|
41
44
|
end
|
42
45
|
|
43
46
|
def drop_item item
|
44
47
|
item = Card::Name[item]
|
45
|
-
|
46
|
-
|
47
|
-
items_to_content(item_names.reject { |i| i == item })
|
48
|
+
self.content = (item_names.reject { |i| i == item }) if include_item? item
|
48
49
|
end
|
49
50
|
|
50
51
|
def insert_item index, name
|
51
52
|
new_names = item_names
|
52
53
|
new_names.delete name
|
53
54
|
new_names.insert index, name
|
54
|
-
|
55
|
+
self.content = new_names
|
55
56
|
end
|
56
57
|
|
57
58
|
def replace_item old, new
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: card-mod-collection
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.2
|
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:
|
13
|
+
date: 2022-01-08 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.
|
21
|
+
version: 1.104.2
|
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.
|
28
|
+
version: 1.104.2
|
29
29
|
description: ''
|
30
30
|
email:
|
31
31
|
- info@decko.org
|
@@ -64,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
64
|
- !ruby/object:Gem::Version
|
65
65
|
version: '0'
|
66
66
|
requirements: []
|
67
|
-
rubygems_version: 3.
|
67
|
+
rubygems_version: 3.2.15
|
68
68
|
signing_key:
|
69
69
|
specification_version: 4
|
70
70
|
summary: collection (list and search)
|