card 1.101.2 → 1.101.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/config/locales/en.yml +3 -1
- data/db/migrate_core_cards/20120611203506_rails_inflection_updates.rb +1 -1
- data/lib/card/env/success.rb +41 -98
- data/lib/card/env/success/target.rb +75 -0
- data/lib/card/set/i18n_scope.rb +1 -1
- data/lib/card/set/inheritance.rb +8 -5
- data/lib/card/set/loader.rb +24 -11
- data/lib/card/set/pattern/base.rb +1 -72
- data/lib/card/set/pattern/class_methods.rb +75 -0
- data/lib/cardio/mod/dirs.rb +2 -2
- data/lib/cardio/mod/loader/set_pattern_loader.rb +0 -1
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: faefffa729032513970c6385b5d327791a5126ff3b3b8973a003c46bef3e7248
|
4
|
+
data.tar.gz: f4529445aae06fa4b7fac2aef3de056d3beaaa75c2a0f609b1bce93fa3cf3cba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e654fd3876906be1fb56802fa438a536ab6b3c22d29b6485f01fdadbe254cf3154abea3489d05bef6945e76a162002f61c69d05ce693ebbba3ecf4dcfa1a3dbc
|
7
|
+
data.tar.gz: 25d8c4b240631bb7b21cf7d6c070196ad06ad5a8829385deb9cdb9bf4aeeebb68981efcf39872a09349e734f367b10053b2d9e975fb33be1e0dfc1c4aabad241
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.11.
|
1
|
+
0.11.3
|
data/config/locales/en.yml
CHANGED
@@ -80,6 +80,8 @@ en:
|
|
80
80
|
# deny_verb_name: You don't have permission to %{verb} %{name}
|
81
81
|
# deny_verb_this: You don't have permission to %{verb} this
|
82
82
|
# error_cant_delete_child: "can't delete %{child_name}: %{message}"
|
83
|
+
|
84
|
+
|
83
85
|
error_code_in_use: codename %{codename} already in use
|
84
86
|
error_hard_templated: can't be changed because %{name} is hard templated to %{type_name}
|
85
87
|
error_indestructible: "%{name} is an indestructible rule"
|
@@ -231,7 +233,7 @@ en:
|
|
231
233
|
discuss: discuss
|
232
234
|
edit: edit
|
233
235
|
error_message: Error message (visible to admin only)
|
234
|
-
error_rendering:
|
236
|
+
error_rendering: "Error rendering: %{cardname} (%{view} view)"
|
235
237
|
exception_not_set_path: "not a set path: %{path}"
|
236
238
|
invalid_json: invalid json
|
237
239
|
label_select: Select
|
@@ -69,7 +69,7 @@ class RailsInflectionUpdates < Cardio::Migration::Core
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
-
cards_with_css = Card.search type: %w
|
72
|
+
cards_with_css = Card.search type: %w[in html css scss]
|
73
73
|
cards_with_css.each do |card|
|
74
74
|
new_content = card.db_content
|
75
75
|
content_changed = false
|
data/lib/card/env/success.rb
CHANGED
@@ -2,7 +2,8 @@ class Card
|
|
2
2
|
module Env
|
3
3
|
# Success objects
|
4
4
|
class Success
|
5
|
-
include
|
5
|
+
include Location
|
6
|
+
include Target
|
6
7
|
|
7
8
|
attr_accessor :redirect, :name, :name_context, :reload
|
8
9
|
attr_writer :params, :card
|
@@ -15,23 +16,20 @@ class Card
|
|
15
16
|
self << normalize_success_args(success_args)
|
16
17
|
end
|
17
18
|
|
19
|
+
def to_url name_context=@name_context
|
20
|
+
case (target = target(name_context))
|
21
|
+
when Card
|
22
|
+
target.format.path params
|
23
|
+
else
|
24
|
+
target
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
18
28
|
def in_context name_context
|
19
29
|
self.name_context = name_context
|
20
30
|
self
|
21
31
|
end
|
22
32
|
|
23
|
-
def normalize_success_args success_args
|
24
|
-
case success_args
|
25
|
-
when nil
|
26
|
-
self.mark = "_self"
|
27
|
-
{}
|
28
|
-
when ActionController::Parameters
|
29
|
-
success_args.to_unsafe_h
|
30
|
-
else
|
31
|
-
success_args
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
33
|
def << value
|
36
34
|
if value.is_a? Hash
|
37
35
|
apply value
|
@@ -44,75 +42,6 @@ class Card
|
|
44
42
|
@reload.to_s == "true"
|
45
43
|
end
|
46
44
|
|
47
|
-
# TODO: refactor to use cardish
|
48
|
-
def mark= value
|
49
|
-
case value
|
50
|
-
when Integer then @id = value
|
51
|
-
when String then @name = value
|
52
|
-
when Card then @card = value
|
53
|
-
else
|
54
|
-
self.target = value
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
# @deprecated
|
59
|
-
def id= id
|
60
|
-
# for backwards compatibility use mark here.
|
61
|
-
# id was often used for the card name
|
62
|
-
self.mark = id
|
63
|
-
end
|
64
|
-
|
65
|
-
def type= type
|
66
|
-
@new_args[:type] = type
|
67
|
-
end
|
68
|
-
|
69
|
-
def type_id= type_id
|
70
|
-
@new_args[:type_id] = type_id.to_i
|
71
|
-
end
|
72
|
-
|
73
|
-
def content= content
|
74
|
-
@new_args[:content] = content
|
75
|
-
end
|
76
|
-
|
77
|
-
def target= value
|
78
|
-
@id = @name = @card = nil
|
79
|
-
@target = process_target value
|
80
|
-
end
|
81
|
-
|
82
|
-
def process_target value
|
83
|
-
case value
|
84
|
-
when "" then ""
|
85
|
-
when "*previous", :previous then :previous
|
86
|
-
when %r{^(http|/)} then value
|
87
|
-
when /^REDIRECT:\s*(.+)/
|
88
|
-
@redirect = true
|
89
|
-
process_target Regexp.last_match(1)
|
90
|
-
else self.mark = value
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
def apply hash
|
95
|
-
hash.each_pair do |key, value|
|
96
|
-
self[key] = value
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
def card name_context=@name_context
|
101
|
-
if @card
|
102
|
-
@card
|
103
|
-
elsif @id
|
104
|
-
Card.fetch @id
|
105
|
-
elsif @name
|
106
|
-
Card.fetch @name.to_name.absolute(name_context), new: @new_args
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
def target name_context=@name_context
|
111
|
-
card(name_context) ||
|
112
|
-
(@target == :previous ? Card::Env.previous_location : @target) ||
|
113
|
-
Card.fetch(name_context)
|
114
|
-
end
|
115
|
-
|
116
45
|
def []= key, value
|
117
46
|
if respond_to? "#{key}="
|
118
47
|
send "#{key}=", value
|
@@ -139,32 +68,46 @@ class Card
|
|
139
68
|
@params.marshal_dump
|
140
69
|
end
|
141
70
|
|
142
|
-
def
|
143
|
-
|
71
|
+
def session
|
72
|
+
Card::Env.session
|
144
73
|
end
|
145
74
|
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
else
|
151
|
-
target
|
152
|
-
end
|
75
|
+
private
|
76
|
+
|
77
|
+
def respond_to_missing? method, _include_private=false
|
78
|
+
method.match?(/^(\w+)=?$/) || super
|
153
79
|
end
|
154
80
|
|
155
81
|
def method_missing method, *args
|
156
|
-
|
157
|
-
|
158
|
-
self[Regexp.last_match(1).to_sym] = args[0]
|
159
|
-
when /^(\w+)$/
|
160
|
-
self[Regexp.last_match(1).to_sym]
|
82
|
+
if (m = method.match(/^(\w+(=)?)/))
|
83
|
+
infer_bracket m[1].to_sym, m[2], args[0]
|
161
84
|
else
|
162
85
|
super
|
163
86
|
end
|
164
87
|
end
|
165
88
|
|
166
|
-
def
|
167
|
-
|
89
|
+
def infer_bracket method, assign, val
|
90
|
+
args = [method]
|
91
|
+
args << val if assign
|
92
|
+
@params.send(*args)
|
93
|
+
end
|
94
|
+
|
95
|
+
def apply hash
|
96
|
+
hash.each_pair do |key, value|
|
97
|
+
self[key] = value
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
def normalize_success_args success_args
|
102
|
+
case success_args
|
103
|
+
when nil
|
104
|
+
self.mark = "_self"
|
105
|
+
{}
|
106
|
+
when ActionController::Parameters
|
107
|
+
success_args.to_unsafe_h
|
108
|
+
else
|
109
|
+
success_args
|
110
|
+
end
|
168
111
|
end
|
169
112
|
end
|
170
113
|
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
class Card
|
2
|
+
module Env
|
3
|
+
class Success
|
4
|
+
# The success "target" is the destination upon success.
|
5
|
+
#
|
6
|
+
# @card, @name, @id, etc all refer to the target card
|
7
|
+
module Target
|
8
|
+
def target= value
|
9
|
+
@id = @name = @card = nil
|
10
|
+
@target = process_target value
|
11
|
+
end
|
12
|
+
|
13
|
+
def target name_context=@name_context
|
14
|
+
card(name_context) ||
|
15
|
+
(@target == :previous ? Card::Env.previous_location : @target) ||
|
16
|
+
Card.fetch(name_context)
|
17
|
+
end
|
18
|
+
|
19
|
+
# TODO: refactor to use cardish
|
20
|
+
def mark= value
|
21
|
+
case value
|
22
|
+
when Integer then @id = value
|
23
|
+
when String then @name = value
|
24
|
+
when Card then @card = value
|
25
|
+
else
|
26
|
+
self.target = value
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# @deprecated
|
31
|
+
def id= id
|
32
|
+
# for backwards compatibility use mark here.
|
33
|
+
# id was often used for the card name
|
34
|
+
self.mark = id
|
35
|
+
end
|
36
|
+
|
37
|
+
def type= type
|
38
|
+
@new_args[:type] = type
|
39
|
+
end
|
40
|
+
|
41
|
+
def type_id= type_id
|
42
|
+
@new_args[:type_id] = type_id.to_i
|
43
|
+
end
|
44
|
+
|
45
|
+
def content= content
|
46
|
+
@new_args[:content] = content
|
47
|
+
end
|
48
|
+
|
49
|
+
def card name_context=@name_context
|
50
|
+
if @card
|
51
|
+
@card
|
52
|
+
elsif @id
|
53
|
+
Card.fetch @id
|
54
|
+
elsif @name
|
55
|
+
Card.fetch @name.to_name.absolute(name_context), new: @new_args
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
private
|
60
|
+
|
61
|
+
def process_target value
|
62
|
+
case value
|
63
|
+
when "" then ""
|
64
|
+
when "*previous", :previous then :previous
|
65
|
+
when %r{^(http|/)} then value
|
66
|
+
when /^REDIRECT:\s*(.+)/
|
67
|
+
@redirect = true
|
68
|
+
process_target Regexp.last_match(1)
|
69
|
+
else self.mark = value
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
data/lib/card/set/i18n_scope.rb
CHANGED
data/lib/card/set/inheritance.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
class Card
|
2
2
|
module Set
|
3
3
|
# API to inherit other sets and their formats
|
4
|
-
|
5
4
|
module Inheritance
|
6
5
|
|
7
6
|
# include a set module and all its format modules
|
@@ -66,15 +65,19 @@ class Card
|
|
66
65
|
|
67
66
|
# iterate through each format associated with a set
|
68
67
|
def each_format set
|
69
|
-
|
70
|
-
|
71
|
-
modules[format_type].each_pair do |format, set_format_mod_hash|
|
72
|
-
next unless (format_mods = set_format_mod_hash[set.shortname])
|
68
|
+
each_format_with_mods set do |format, mods_for_set|
|
69
|
+
next unless (format_mods = mods_for_set[set.shortname])
|
73
70
|
|
74
71
|
yield format, format_mods
|
75
72
|
end
|
76
73
|
end
|
77
74
|
|
75
|
+
def each_format_with_mods set
|
76
|
+
set_type = set.abstract_set? ? :abstract : :nonbase
|
77
|
+
format_type = "#{set_type}_format".to_sym
|
78
|
+
modules[format_type].each_pair { |*args| yield(*args) }
|
79
|
+
end
|
80
|
+
|
78
81
|
def applicable_format? format, except, only
|
79
82
|
format_sym = Card::Format.format_sym format
|
80
83
|
return false if except && Array(except).include?(format_sym)
|
data/lib/card/set/loader.rb
CHANGED
@@ -24,9 +24,7 @@ class Card
|
|
24
24
|
modules[:base] << set_module
|
25
25
|
else
|
26
26
|
set_type = set_module.abstract_set? ? :abstract : :nonbase
|
27
|
-
|
28
|
-
modules[set_type][set_module.shortname] ||= []
|
29
|
-
modules[set_type][set_module.shortname] << set_module
|
27
|
+
register_set_of_type set_module, set_type
|
30
28
|
end
|
31
29
|
end
|
32
30
|
|
@@ -44,19 +42,17 @@ class Card
|
|
44
42
|
# Format class
|
45
43
|
# 'nonbase modules' are included dynamically on singleton_classes
|
46
44
|
def process_base_modules
|
47
|
-
|
45
|
+
base_modules = modules[:base]
|
46
|
+
return unless base_modules.present?
|
48
47
|
|
49
|
-
Card.add_set_modules
|
50
|
-
modules[:base_format]
|
51
|
-
|
52
|
-
end
|
53
|
-
modules[:base].clear
|
54
|
-
modules[:base_format].clear
|
48
|
+
Card.add_set_modules base_modules
|
49
|
+
process_base_format_modules modules[:base_format]
|
50
|
+
base_modules.clear
|
55
51
|
end
|
56
52
|
|
57
53
|
def clean_empty_modules
|
58
54
|
clean_empty_module_from_hash modules[:nonbase]
|
59
|
-
modules[:nonbase_format].
|
55
|
+
modules[:nonbase_format].each_value do |hash|
|
60
56
|
clean_empty_module_from_hash hash
|
61
57
|
end
|
62
58
|
end
|
@@ -67,6 +63,23 @@ class Card
|
|
67
63
|
hash.delete mod_name if modlist.empty?
|
68
64
|
end
|
69
65
|
end
|
66
|
+
|
67
|
+
private
|
68
|
+
|
69
|
+
# makes sets ready for dynamic loading via #include_set_modules
|
70
|
+
def register_set_of_type set_module, set_type
|
71
|
+
mods = modules[set_type]
|
72
|
+
key = set_module.shortname
|
73
|
+
mods[key] ||= []
|
74
|
+
mods[key] << set_module
|
75
|
+
end
|
76
|
+
|
77
|
+
def process_base_format_modules base_format_modules
|
78
|
+
base_format_modules.each do |format_class, modules_list|
|
79
|
+
format_class.add_set_modules modules_list
|
80
|
+
end
|
81
|
+
base_format_modules.clear
|
82
|
+
end
|
70
83
|
end
|
71
84
|
end
|
72
85
|
end
|
@@ -3,60 +3,7 @@ class Card
|
|
3
3
|
class Pattern
|
4
4
|
# class from which set patterns inherit
|
5
5
|
class Base
|
6
|
-
|
7
|
-
attr_accessor :pattern_code, :pattern_id, :junction_only,
|
8
|
-
:assigns_type, :anchorless
|
9
|
-
attr_writer :anchor_parts_count
|
10
|
-
|
11
|
-
def new card
|
12
|
-
super if pattern_applies? card
|
13
|
-
end
|
14
|
-
|
15
|
-
def register pattern_code, opts={}
|
16
|
-
if (self.pattern_id = Card::Codename.id(pattern_code))
|
17
|
-
self.pattern_code = pattern_code
|
18
|
-
Card.set_patterns.insert opts.delete(:index).to_i, self
|
19
|
-
self.anchorless = !respond_to?(:anchor_name)
|
20
|
-
opts.each { |key, val| send "#{key}=", val }
|
21
|
-
else
|
22
|
-
warn "no codename for pattern_code #{pattern_code}"
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def junction_only?
|
27
|
-
junction_only == true
|
28
|
-
end
|
29
|
-
|
30
|
-
def anchorless?
|
31
|
-
anchorless
|
32
|
-
end
|
33
|
-
|
34
|
-
def pattern
|
35
|
-
Card.fetch(pattern_id, skip_modules: true).name
|
36
|
-
end
|
37
|
-
|
38
|
-
def pattern_applies? card
|
39
|
-
junction_only? ? card.name.junction? : true
|
40
|
-
end
|
41
|
-
|
42
|
-
def anchor_parts_count
|
43
|
-
@anchor_parts_count ||= (anchorless? ? 0 : 1)
|
44
|
-
end
|
45
|
-
|
46
|
-
def module_key anchor_codes
|
47
|
-
return pattern_code.to_s.camelize if anchorless?
|
48
|
-
return unless anchor_codes # is this not an error?
|
49
|
-
|
50
|
-
([pattern_code] + anchor_codes).map { |code| code.to_s.camelize }.join "::"
|
51
|
-
end
|
52
|
-
|
53
|
-
# label for set pattern if no anchor is given
|
54
|
-
def generic_label
|
55
|
-
label nil
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
# Instance methods
|
6
|
+
extend ClassMethods
|
60
7
|
|
61
8
|
def initialize card
|
62
9
|
return if self.class.anchorless?
|
@@ -134,24 +81,6 @@ class Card
|
|
134
81
|
end
|
135
82
|
end
|
136
83
|
end
|
137
|
-
|
138
|
-
module Helper
|
139
|
-
private
|
140
|
-
|
141
|
-
def left_type card
|
142
|
-
card.superleft&.type_name || quick_type(card.name.left_name)
|
143
|
-
end
|
144
|
-
|
145
|
-
def quick_type name
|
146
|
-
if name.present?
|
147
|
-
card = Card.fetch name, skip_modules: true, new: {}
|
148
|
-
card.include_set_modules if card.new? && name.to_name.junction?
|
149
|
-
card&.type_name
|
150
|
-
else
|
151
|
-
"RichText"
|
152
|
-
end
|
153
|
-
end
|
154
|
-
end
|
155
84
|
end
|
156
85
|
end
|
157
86
|
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
class Card
|
2
|
+
module Set
|
3
|
+
class Pattern
|
4
|
+
# methods for Set::Pattern classes
|
5
|
+
module ClassMethods
|
6
|
+
attr_accessor :pattern_code, :pattern_id, :junction_only,
|
7
|
+
:assigns_type, :anchorless
|
8
|
+
attr_writer :anchor_parts_count
|
9
|
+
|
10
|
+
def new card
|
11
|
+
super if pattern_applies? card
|
12
|
+
end
|
13
|
+
|
14
|
+
def register pattern_code, opts={}
|
15
|
+
if (self.pattern_id = Card::Codename.id(pattern_code))
|
16
|
+
self.pattern_code = pattern_code
|
17
|
+
Card.set_patterns.insert opts.delete(:index).to_i, self
|
18
|
+
self.anchorless = !respond_to?(:anchor_name)
|
19
|
+
opts.each { |key, val| send "#{key}=", val }
|
20
|
+
else
|
21
|
+
warn "no codename for pattern_code #{pattern_code}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def junction_only?
|
26
|
+
junction_only == true
|
27
|
+
end
|
28
|
+
|
29
|
+
def anchorless?
|
30
|
+
anchorless
|
31
|
+
end
|
32
|
+
|
33
|
+
def pattern
|
34
|
+
Card.fetch(pattern_id, skip_modules: true).name
|
35
|
+
end
|
36
|
+
|
37
|
+
def pattern_applies? card
|
38
|
+
junction_only? ? card.name.junction? : true
|
39
|
+
end
|
40
|
+
|
41
|
+
def anchor_parts_count
|
42
|
+
@anchor_parts_count ||= (anchorless? ? 0 : 1)
|
43
|
+
end
|
44
|
+
|
45
|
+
def module_key anchor_codes
|
46
|
+
return pattern_code.to_s.camelize if anchorless?
|
47
|
+
return unless anchor_codes # is this not an error?
|
48
|
+
|
49
|
+
([pattern_code] + anchor_codes).map { |code| code.to_s.camelize }.join "::"
|
50
|
+
end
|
51
|
+
|
52
|
+
# label for set pattern if no anchor is given
|
53
|
+
def generic_label
|
54
|
+
label nil
|
55
|
+
end
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
def left_type card
|
60
|
+
card.superleft&.type_name || quick_type(card.name.left_name)
|
61
|
+
end
|
62
|
+
|
63
|
+
def quick_type name
|
64
|
+
if name.present?
|
65
|
+
card = Card.fetch name, skip_modules: true, new: {}
|
66
|
+
card.include_set_modules if card.new? && name.to_name.junction?
|
67
|
+
card&.type_name
|
68
|
+
else
|
69
|
+
"RichText"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
data/lib/cardio/mod/dirs.rb
CHANGED
@@ -65,7 +65,7 @@ module Cardio
|
|
65
65
|
# Add a mod to mod load paths
|
66
66
|
def add_path mod_name, path=nil
|
67
67
|
if @mods.include? mod_name
|
68
|
-
raise Error,
|
68
|
+
raise Card::Error,
|
69
69
|
"name conflict: mod with name \"#{mod_name}\" already loaded"
|
70
70
|
end
|
71
71
|
@mods << mod_name
|
@@ -80,7 +80,7 @@ module Cardio
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def unknown_gem_mod! name
|
83
|
-
raise Error, %(Unknown gem "#{name}". Make sure it is in your Gemfile.)
|
83
|
+
raise Card::Error, %(Unknown gem "#{name}". Make sure it is in your Gemfile.)
|
84
84
|
end
|
85
85
|
|
86
86
|
def add_gem_mod mod_name, mod_path
|
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.101.
|
4
|
+
version: 1.101.3
|
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-
|
13
|
+
date: 2021-04-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: cardname
|
@@ -18,14 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.11.
|
21
|
+
version: 0.11.3
|
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: 0.11.
|
28
|
+
version: 0.11.3
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: rake
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -543,6 +543,7 @@ files:
|
|
543
543
|
- lib/card/env/serialization.rb
|
544
544
|
- lib/card/env/slot_options.rb
|
545
545
|
- lib/card/env/success.rb
|
546
|
+
- lib/card/env/success/target.rb
|
546
547
|
- lib/card/error.rb
|
547
548
|
- lib/card/fetch.rb
|
548
549
|
- lib/card/fetch/results.rb
|
@@ -631,6 +632,7 @@ files:
|
|
631
632
|
- lib/card/set/loader.rb
|
632
633
|
- lib/card/set/pattern.rb
|
633
634
|
- lib/card/set/pattern/base.rb
|
635
|
+
- lib/card/set/pattern/class_methods.rb
|
634
636
|
- lib/card/set/required_field.rb
|
635
637
|
- lib/card/set/trait.rb
|
636
638
|
- lib/card/set/type.rb
|
@@ -1237,7 +1239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1237
1239
|
- !ruby/object:Gem::Version
|
1238
1240
|
version: '0'
|
1239
1241
|
requirements: []
|
1240
|
-
rubygems_version: 3.
|
1242
|
+
rubygems_version: 3.1.4
|
1241
1243
|
signing_key:
|
1242
1244
|
specification_version: 4
|
1243
1245
|
summary: a simple engine for emergent data structures
|