card 1.101.2 → 1.101.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|