Module: Card::Set::All::Collection
- Extended by:
- Card::Set
- Defined in:
- tmpsets/set/mod001-01_core/all/collection.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary
collapse
Methods included from Card::Set
abstract_set?, all_set?, card_accessor, card_reader, card_writer, clean_empty_module_from_hash, clean_empty_modules, define_active_job, define_event_method, define_event_perform_later_method, define_on_format, ensure_set, event, extended, format, phase_method, process_base_module_list, process_base_modules, register_set, register_set_format, shortname, view, write_tmp_file
Instance Method Details
#add_item(item) ⇒ Object
66
67
68
69
70
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 66
def add_item item
unless include_item? item
self.content="#{self.content}\n#{name}"
end
end
|
#contextual_content(context_card, format_args = {}, view_args = {}) ⇒ Object
126
127
128
129
130
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 126
def contextual_content context_card, format_args={}, view_args={}
context_card.format(format_args).process_content(
self.format(format_args)._render_raw(view_args), view_args
)
end
|
#drop_item(item) ⇒ Object
72
73
74
75
76
77
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 72
def drop_item item
if include_item? item
new_names = item_names.reject{ |i| i == item }
self.content = new_names.empty? ? '' : new_names.join("\n")
end
end
|
#extended_item_cards(context = nil) ⇒ Object
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 87
def extended_item_cards context = nil
context = (context ? context.cardname : self.cardname)
args={ limit: '' }
items = self.item_cards(args.merge(context: context))
extended_list = []
already_extended = ::Set.new
while items.size > 0
item = items.shift
if already_extended.include? item
next
elsif item.item_cards == [item]
extended_list << item
already_extended << item
else
items.unshift(*item.item_cards)
already_extended << item
end
end
extended_list
end
|
#extended_item_contents(context = nil) ⇒ Object
109
110
111
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 109
def extended_item_contents context = nil
extended_item_cards(context).map(&:item_names).flatten
end
|
#extended_list(context = nil) ⇒ Object
113
114
115
116
117
118
119
120
121
122
123
124
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 113
def extended_list context = nil
context = (context ? context.cardname : self.cardname)
args={ limit: '' }
self.item_cards(args.merge(context: context)).map do |x|
x.item_cards(args)
end.flatten.map do |x|
x.item_cards(args)
end.flatten.map do |y|
y.item_names(args)
end.flatten
end
|
#include_item?(item) ⇒ Boolean
57
58
59
60
61
62
63
64
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 57
def include_item? item
key = if Card === item
item.cardname.key
else
item.to_name.key
end
item_names.map{|name| name.to_name.key}.member? key
end
|
#insert_item(index, name) ⇒ Object
79
80
81
82
83
84
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 79
def insert_item index, name
new_names = item_names
new_names.delete(name)
new_names.insert(index,name)
self.content = new_names.join "\n"
end
|
#item_cards(args = {}) ⇒ Object
FIXME this is inconsistent with item_names
43
44
45
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 43
def item_cards(args={})
[self]
end
|
#item_keys(args = {}) ⇒ Object
51
52
53
54
55
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 51
def item_keys args={}
item_names(args).map do |item|
item.to_name.key
end
end
|
#item_names(args = {}) ⇒ Object
39
40
41
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 39
def item_names(args={})
format._render_raw.split /[,\n]/
end
|
#item_type ⇒ Object
47
48
49
|
# File 'tmpsets/set/mod001-01_core/all/collection.rb', line 47
def item_type
nil
end
|