card-mod-assets 0.14.2 → 0.15.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +114 -0
- data/data/real.yml +7 -0
- data/db/migrate_core_cards/202108028112352_death_to_machines.rb +0 -3
- data/lib/card/assets.rb +12 -3
- data/lib/tasks/card/assets.rake +20 -0
- data/set/abstract/asset_file.rb +1 -1
- data/set/abstract/asset_inputter.rb +14 -7
- data/set/abstract/asset_outputter.rb +2 -5
- data/set/abstract/mod_assets.rb +14 -4
- data/set/right/asset_input.rb +1 -1
- data/set/right/asset_output.rb +2 -4
- data/set/type/mod.rb +5 -49
- data/set/type/remote_manifest_group.rb +2 -0
- metadata +21 -18
- data/db/migrate_core_cards/20200806112346_add_mod_type.rb +0 -13
- /data/{locales → config/locales}/de.yml +0 -0
- /data/{locales → config/locales}/en.yml +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25621c837fd7effe9227d019d92fb0cf73c8892b4a9e77b3723a9d160f0457c7
|
4
|
+
data.tar.gz: 205c3ebcfcd1a77cbe48a4f7649a64e9bc7a2aa69fd3913cc8839fbb08623187
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93bb6a14918c6b702fb18985966a00628383b68453572545949b402e44c142b22ab580a2ecf021a2ecb74718f8a950005f7e7915d839a26b23095a9603835f50
|
7
|
+
data.tar.gz: 79e3353ed13b1c8320f6f8525a171b16252a96d7f8639d1cbc1eda9a7b1bb9ba0645a1e28234b5d1a335e36beb1505906e52a7b356645a5fc90a72122a97f62b
|
data/README.md
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
<!--
|
2
|
+
# @title README - mod: assets
|
3
|
+
-->
|
4
|
+
|
5
|
+
# Assets mod
|
6
|
+
|
7
|
+
This mod unifies handling of styles (CSS, SCSS, etc) and scripts
|
8
|
+
(JavaScript, CoffeeScript, etc).
|
9
|
+
|
10
|
+
For both styles and scripts, the idea is to output optimized files for
|
11
|
+
browser caching and thus improve users' experience by reducing loading times. In other
|
12
|
+
words, we use a wide variety of asset sources to assemble a ready-for-prime-time
|
13
|
+
.js and .css files.
|
14
|
+
|
15
|
+
There are two main kinds of cards in the asset pipeline: inputters (where
|
16
|
+
the code comes from) and outputters (where it ends up).
|
17
|
+
|
18
|
+
## Inputters
|
19
|
+
|
20
|
+
Inputters are can be created in multiple ways:
|
21
|
+
|
22
|
+
1. By adding code to the assets directory in a mod
|
23
|
+
2. By adding remote and/or local assets to a manifest.yml file
|
24
|
+
3. By combining other inputters
|
25
|
+
4. By directly creating cards of an inputter type
|
26
|
+
|
27
|
+
### adding code to the assets directory
|
28
|
+
|
29
|
+
Each mod can have an `assets` directory with `style` and `script` subdirectories.
|
30
|
+
By adding CSS or SCSS files to `assets/style` (or JavaScript or CoffeeScript
|
31
|
+
files to `assets/script`) to a mod in use, your code will automatically be included
|
32
|
+
in standard asset output.
|
33
|
+
|
34
|
+
After adding the first asset to a mod, you may need to run `rake card:mod:install` (or
|
35
|
+
the more comprehensive `decko update`) for the change to take effect. Otherwise,
|
36
|
+
everything should pretty much handle itself.
|
37
|
+
|
38
|
+
By default, the load order within a mod is alphabetical, and the load order across mods
|
39
|
+
is governed by the mod load order, which can be seen using `rake card:mod:list`.
|
40
|
+
|
41
|
+
### using manifest.yml files
|
42
|
+
|
43
|
+
If you want to customize the load order of asset files, you can add a `manifest.yml`
|
44
|
+
file to `assets/style` or `assets/script`.
|
45
|
+
|
46
|
+
For example, consider these lines from the manifest.yml file in the bootstrap mod:
|
47
|
+
|
48
|
+
libraries:
|
49
|
+
items:
|
50
|
+
- font_awesome.css
|
51
|
+
- material_icons.css
|
52
|
+
- bootstrap_colorpicker.scss
|
53
|
+
- ../../vendor/bootstrap-colorpicker/src/sass/_colorpicker.scss
|
54
|
+
|
55
|
+
The word `libraries` is an arbitrary name for the manifest group; you can use any name
|
56
|
+
(other than `remote`) as long as it isn't duplicated in the file. The `items` specify
|
57
|
+
the load order for this manifest group.
|
58
|
+
|
59
|
+
Note that the manifest also makes it possible to include source files that are not in
|
60
|
+
the assets directory using relative path references.
|
61
|
+
|
62
|
+
Manifests also make it possible to include remote files. For example:
|
63
|
+
|
64
|
+
remote:
|
65
|
+
items:
|
66
|
+
- src: https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.1/js/select2.full.min.js
|
67
|
+
integrity: ...
|
68
|
+
referrerpolicy: no-referrer
|
69
|
+
crossorigin: anonymous
|
70
|
+
|
71
|
+
### combining other inputters
|
72
|
+
|
73
|
+
There are various special cards that combine inputters and are inputters themselves:
|
74
|
+
|
75
|
+
- the `:style_mods` card contains all the standard assets from mods' asset directories
|
76
|
+
- _Skin_ cards combine a particular set of styles
|
77
|
+
- `(Mod)+:style` and `(Mod)+:script` assemble the assets for a given mod
|
78
|
+
|
79
|
+
### creating inputter cards
|
80
|
+
|
81
|
+
Many Cardtypes are coded to be inputters. If you create a card with the type CSS,
|
82
|
+
for example, it will automatically be treated as an inputter. The same goes for SCSS,
|
83
|
+
CoffeeScript, and JavaScript cards. (In code terms, this is achieved by having those
|
84
|
+
sets include the `Abstract::AssetInputter` set).
|
85
|
+
|
86
|
+
Because these cards are intended for Sharks, they are predominantly documented on
|
87
|
+
decko.org
|
88
|
+
|
89
|
+
## Outputters
|
90
|
+
|
91
|
+
Outputters produce the final asset (.js and .css) files delivered to users' browsers.
|
92
|
+
|
93
|
+
They work slightly differently with style and script cards. JavaScript (.js) output is
|
94
|
+
produced on a mod-by-mod basis. The `:all+:script` rule maintains a list of all mods
|
95
|
+
with script inputters, and output is produced for each mod that assembles all the
|
96
|
+
javascript for that mod. The output is managed with a file card using the name pattern
|
97
|
+
`MOD+:asset_ouput`
|
98
|
+
|
99
|
+
With style cards, SCSS variables are often shared across many mods, so the output CSS
|
100
|
+
cannot be constructed on a mod-by-mod basis; it has to be generated across all mods at
|
101
|
+
once. Thus the site's main CSS is served as a single file associated with `:all+:style`,
|
102
|
+
which typically points to a skin card. The output is managed as a file card at
|
103
|
+
`:all+:style+:asset_output`.
|
104
|
+
|
105
|
+
### generating output from input
|
106
|
+
|
107
|
+
For each inputter, we generate a VirtualCache card following this pattern:
|
108
|
+
`(Inputter)+:asset_input`. This card processes the inputs as much as it safely can.
|
109
|
+
For example, SCSS cards cannot be converted to CSS here, because they often
|
110
|
+
involve variables that must be used by other inputters.
|
111
|
+
|
112
|
+
When changes to inputters are detected, they trigger changes to all inputters and
|
113
|
+
outputters that depend on them.
|
114
|
+
|
data/data/real.yml
ADDED
data/lib/card/assets.rb
CHANGED
@@ -15,8 +15,8 @@ class Card
|
|
15
15
|
]
|
16
16
|
end
|
17
17
|
|
18
|
-
def
|
19
|
-
return unless force ||
|
18
|
+
def refresh force: false
|
19
|
+
return unless force || refresh?
|
20
20
|
|
21
21
|
inputters = standard_inputters
|
22
22
|
|
@@ -30,6 +30,15 @@ class Card
|
|
30
30
|
generate_asset_output_files if force
|
31
31
|
end
|
32
32
|
|
33
|
+
def wipe
|
34
|
+
Auth.as_bot do
|
35
|
+
%i[asset_input asset_output].each do |field|
|
36
|
+
Card.search(right: field).each(&:delete!)
|
37
|
+
Virtual.where(right_id: field.card_id).destroy_all
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
33
42
|
def make_output_coded
|
34
43
|
asset_outputters.each(&:make_asset_output_coded)
|
35
44
|
end
|
@@ -72,7 +81,7 @@ class Card
|
|
72
81
|
Card.search type_id: inputter_types.unshift("in")
|
73
82
|
end
|
74
83
|
|
75
|
-
def
|
84
|
+
def refresh?
|
76
85
|
case Cardio.config.asset_refresh
|
77
86
|
when :eager then true
|
78
87
|
when :cautious then cautious_refresh?
|
@@ -0,0 +1,20 @@
|
|
1
|
+
namespace :card do
|
2
|
+
namespace :assets do
|
3
|
+
desc "regenerate asset outputs"
|
4
|
+
task refresh: :environment do
|
5
|
+
Card::Assets.refresh force: true
|
6
|
+
end
|
7
|
+
|
8
|
+
desc "update coded asset outputs"
|
9
|
+
task code: :environment do
|
10
|
+
Cardio.config.compress_assets = true
|
11
|
+
Card::Cache.reset_all
|
12
|
+
Card::Assets.make_output_coded
|
13
|
+
end
|
14
|
+
|
15
|
+
desc "delete all cached asset outputs and inputs"
|
16
|
+
task wipe: :environment do
|
17
|
+
Card::Assets.wipe
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/set/abstract/asset_file.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
card_accessor :asset_input,
|
1
|
+
card_accessor :asset_input, type: :plain_text
|
2
2
|
|
3
3
|
def dependent_asset_inputters
|
4
4
|
referers_responding_to :asset_input
|
@@ -12,11 +12,13 @@ def referers_responding_to method_name
|
|
12
12
|
referers.select { |referer| referer.respond_to? method_name }
|
13
13
|
end
|
14
14
|
|
15
|
-
event :asset_input_changed, :finalize,
|
15
|
+
event :asset_input_changed, :finalize,
|
16
|
+
on: :save, when: :asset_inputter?, skip: :allowed do
|
16
17
|
update_asset_input
|
17
18
|
end
|
18
19
|
|
19
|
-
event :asset_input_changed_on_delete, :finalize,
|
20
|
+
event :asset_input_changed_on_delete, :finalize,
|
21
|
+
on: :delete, when: :asset_inputter?, before: :clear_references do
|
20
22
|
update_referers_after_input_changed
|
21
23
|
end
|
22
24
|
|
@@ -33,19 +35,19 @@ def update_asset_input
|
|
33
35
|
# otherwise the migration that adds the asset_input card fails
|
34
36
|
|
35
37
|
Card::Auth.as_bot do
|
36
|
-
asset_input_card.update
|
38
|
+
asset_input_card.update({})
|
37
39
|
update_referers_after_input_changed
|
38
40
|
end
|
39
41
|
end
|
40
42
|
|
41
43
|
def asset_input_content
|
42
|
-
return
|
44
|
+
return assemble_asset_input_content if virtual?
|
43
45
|
update_asset_input if asset_input.blank?
|
44
46
|
asset_input
|
45
47
|
end
|
46
48
|
|
47
|
-
def
|
48
|
-
format(input_format).render
|
49
|
+
def assemble_asset_input_content
|
50
|
+
format(input_format).render input_view
|
49
51
|
end
|
50
52
|
|
51
53
|
def input_view
|
@@ -64,6 +66,11 @@ def asset_input_needs_refresh?
|
|
64
66
|
false
|
65
67
|
end
|
66
68
|
|
69
|
+
# for override
|
70
|
+
def asset_inputter?
|
71
|
+
true
|
72
|
+
end
|
73
|
+
|
67
74
|
format :html do
|
68
75
|
def edit_success
|
69
76
|
{ reload: true }
|
@@ -1,11 +1,8 @@
|
|
1
1
|
include_set Abstract::Lock
|
2
|
+
include Env::Location
|
2
3
|
|
3
4
|
card_accessor :asset_output, type: :file
|
4
5
|
|
5
|
-
def output_filetype
|
6
|
-
output_format
|
7
|
-
end
|
8
|
-
|
9
6
|
event :update_asset_output_file, :finalize, on: :save do
|
10
7
|
update_asset_output
|
11
8
|
end
|
@@ -54,7 +51,7 @@ def store_output output
|
|
54
51
|
end
|
55
52
|
|
56
53
|
def handle_file output
|
57
|
-
file = Tempfile.new [id.to_s, ".#{
|
54
|
+
file = Tempfile.new [id.to_s, ".#{output_format}"]
|
58
55
|
file.write output
|
59
56
|
file.close
|
60
57
|
yield file
|
data/set/abstract/mod_assets.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
include_set Abstract::
|
1
|
+
include_set Abstract::List
|
2
2
|
include_set Abstract::ReadOnly
|
3
3
|
|
4
4
|
def item_cards _args={}
|
@@ -80,12 +80,14 @@ def manifest_group_minimize? group_name
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def manifest
|
83
|
+
# FIXME: sometimes this needs to get cleared!
|
83
84
|
@manifest ||= load_manifest
|
84
85
|
end
|
85
86
|
|
86
87
|
def load_manifest
|
87
88
|
return unless manifest_exists?
|
88
89
|
manifest = YAML.load_file manifest_path
|
90
|
+
return {} unless manifest # blank manifest
|
89
91
|
validate_manifest manifest
|
90
92
|
manifest
|
91
93
|
end
|
@@ -115,13 +117,12 @@ def source_changed? since:
|
|
115
117
|
folder_group_card&.paths&.map { |path| File.mtime(path) }
|
116
118
|
end
|
117
119
|
|
118
|
-
|
119
|
-
|
120
|
-
source_updates.max > since
|
120
|
+
source_updates.present? && (source_updates.max > since)
|
121
121
|
end
|
122
122
|
|
123
123
|
def manifest_updated_at
|
124
124
|
return unless manifest_exists?
|
125
|
+
|
125
126
|
File.mtime(manifest_path)
|
126
127
|
end
|
127
128
|
|
@@ -153,3 +154,12 @@ end
|
|
153
154
|
def raise_manifest_error msg
|
154
155
|
raise Card::Error, "invalid manifest format in #{manifest_path}: #{msg}"
|
155
156
|
end
|
157
|
+
|
158
|
+
format :html do
|
159
|
+
def map_remote_items
|
160
|
+
remote_items = card.manifest_group_items "remote"
|
161
|
+
return unless remote_items
|
162
|
+
|
163
|
+
remote_items.map { |args| yield args.clone }
|
164
|
+
end
|
165
|
+
end
|
data/set/right/asset_input.rb
CHANGED
data/set/right/asset_output.rb
CHANGED
@@ -10,9 +10,7 @@ def history?
|
|
10
10
|
false
|
11
11
|
end
|
12
12
|
|
13
|
-
event :remove_codename, :prepare_to_validate,
|
14
|
-
on: :delete,
|
15
|
-
when: proc { |c| c.codename.present? } do
|
13
|
+
event :remove_codename, :prepare_to_validate, on: :delete, when: :codename? do
|
16
14
|
# load file before deleting codename otherwise it will fail later
|
17
15
|
attachment
|
18
16
|
self.codename = nil
|
@@ -20,7 +18,7 @@ end
|
|
20
18
|
|
21
19
|
format do
|
22
20
|
def outputter
|
23
|
-
left
|
21
|
+
card.left
|
24
22
|
end
|
25
23
|
|
26
24
|
view :not_found do
|
data/set/type/mod.rb
CHANGED
@@ -6,59 +6,15 @@ def modname
|
|
6
6
|
codename.to_s.gsub(/^mod_/, "")
|
7
7
|
end
|
8
8
|
|
9
|
-
def ensure_mod_script_card
|
10
|
-
ensure_mod_asset_card :script
|
11
|
-
end
|
12
|
-
|
13
|
-
def ensure_mod_style_card
|
14
|
-
ensure_mod_asset_card :style
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
9
|
def ensure_mod_asset_card asset_type
|
20
10
|
asset_card = fetch_mod_assets_card asset_type
|
21
|
-
return
|
22
|
-
asset_card.save! if asset_card.new?
|
23
|
-
|
24
|
-
if asset_card.content?
|
25
|
-
add_mod_asset_card asset_type
|
26
|
-
asset_card.refresh_asset
|
27
|
-
else
|
28
|
-
puts "Drop: #{asset_card.name}"
|
29
|
-
drop_mod_asset_card asset_type, asset_card
|
30
|
-
end
|
11
|
+
return unless asset_card.assets_path
|
12
|
+
asset_card.save! if asset_card.new?
|
13
|
+
asset_card.name
|
31
14
|
end
|
32
15
|
|
33
|
-
|
34
|
-
target = asset_type == :style ? Card[:style_mods] : all_rule(asset_type)
|
35
|
-
target.add_item! codename_for(asset_type)
|
36
|
-
end
|
37
|
-
|
38
|
-
def drop_mod_asset_card asset_type, asset_card
|
39
|
-
asset_card.update codename: nil
|
40
|
-
asset_card.delete
|
41
|
-
all_rule(asset_type).drop_item! asset_card
|
42
|
-
end
|
43
|
-
|
44
|
-
def codename_for asset_type
|
45
|
-
[codename, asset_type]
|
46
|
-
end
|
47
|
-
|
48
|
-
def all_rule asset_type
|
49
|
-
Card[:all, asset_type]
|
50
|
-
end
|
16
|
+
private
|
51
17
|
|
52
18
|
def fetch_mod_assets_card asset_type
|
53
|
-
|
54
|
-
if Card::Codename.exists? codename
|
55
|
-
Card[codename.to_sym]
|
56
|
-
else
|
57
|
-
card = Card.fetch [name, asset_type], new: {
|
58
|
-
type_id: Card::ListID, codename: codename
|
59
|
-
}
|
60
|
-
card.codename = codename
|
61
|
-
card.type_id = Card::ListID
|
62
|
-
card
|
63
|
-
end
|
19
|
+
Card.fetch [name, asset_type], new: { type: :list }
|
64
20
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: card-mod-assets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.1
|
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: 2023-03-29 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.105.1
|
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.105.1
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: execjs
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,70 +52,70 @@ dependencies:
|
|
52
52
|
requirements:
|
53
53
|
- - '='
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 0.
|
55
|
+
version: 0.15.1
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
58
|
version_requirements: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
60
|
- - '='
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.
|
62
|
+
version: 0.15.1
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
64
|
name: card-mod-format
|
65
65
|
requirement: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - '='
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
69
|
+
version: 0.15.1
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - '='
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: 0.
|
76
|
+
version: 0.15.1
|
77
77
|
- !ruby/object:Gem::Dependency
|
78
78
|
name: card-mod-list
|
79
79
|
requirement: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - '='
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: 0.
|
83
|
+
version: 0.15.1
|
84
84
|
type: :runtime
|
85
85
|
prerelease: false
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - '='
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.
|
90
|
+
version: 0.15.1
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: card-mod-carrierwave
|
93
93
|
requirement: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - '='
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: 0.
|
97
|
+
version: 0.15.1
|
98
98
|
type: :runtime
|
99
99
|
prerelease: false
|
100
100
|
version_requirements: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
102
|
- - '='
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: 0.
|
104
|
+
version: 0.15.1
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: card-mod-content
|
107
107
|
requirement: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - '='
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: 0.
|
111
|
+
version: 0.15.1
|
112
112
|
type: :runtime
|
113
113
|
prerelease: false
|
114
114
|
version_requirements: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
116
|
- - '='
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.
|
118
|
+
version: 0.15.1
|
119
119
|
description: ''
|
120
120
|
email:
|
121
121
|
- info@decko.org
|
@@ -123,11 +123,13 @@ executables: []
|
|
123
123
|
extensions: []
|
124
124
|
extra_rdoc_files: []
|
125
125
|
files:
|
126
|
-
-
|
126
|
+
- README.md
|
127
|
+
- config/locales/de.yml
|
128
|
+
- config/locales/en.yml
|
129
|
+
- data/real.yml
|
127
130
|
- db/migrate_core_cards/202108028112352_death_to_machines.rb
|
128
131
|
- lib/card/assets.rb
|
129
|
-
-
|
130
|
-
- locales/en.yml
|
132
|
+
- lib/tasks/card/assets.rake
|
131
133
|
- set/abstract/01_manifest_group.rb
|
132
134
|
- set/abstract/asset_file.rb
|
133
135
|
- set/abstract/asset_group.rb
|
@@ -150,6 +152,7 @@ metadata:
|
|
150
152
|
wiki_uri: https://decko.org
|
151
153
|
documentation_url: http://docs.decko.org/
|
152
154
|
card-mod: assets
|
155
|
+
card-mod-group: gem-defaults
|
153
156
|
post_install_message:
|
154
157
|
rdoc_options: []
|
155
158
|
require_paths:
|
@@ -165,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
168
|
- !ruby/object:Gem::Version
|
166
169
|
version: '0'
|
167
170
|
requirements: []
|
168
|
-
rubygems_version: 3.
|
171
|
+
rubygems_version: 3.3.11
|
169
172
|
signing_key:
|
170
173
|
specification_version: 4
|
171
174
|
summary: decko asset pipeline
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
|
3
|
-
class AddModType < Cardio::Migration::Core
|
4
|
-
def up
|
5
|
-
add_cardtypes
|
6
|
-
Card::Cache.reset_all
|
7
|
-
end
|
8
|
-
|
9
|
-
def add_cardtypes
|
10
|
-
ensure_code_card name: "Remote manifest group", type_id: Card::CardtypeID
|
11
|
-
ensure_code_card name: "Mod", type_id: Card::CardtypeID
|
12
|
-
end
|
13
|
-
end
|
File without changes
|
File without changes
|