asset_db 0.1.1 → 0.2.0
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/lib/asset_db/database.rb +14 -7
- data/lib/asset_db/resolver.rb +1 -1
- data/lib/asset_db/version.rb +1 -1
- data/lib/asset_db.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42dde564b2ddc791818bc1431399d8f51a193f8e4470d157b74cb200999de40c
|
4
|
+
data.tar.gz: ce91c3dbeb2690f282f2627be18cd1c2cf9aec72012a68a0b8e97c713103d3a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e484a766a3ab1c2845c1a1dc04e05bfc2395ca854f16945037c69597cf1a48c97b2dd7a79004a1621d4e93723ee9617d59366b71f8a0aaf0cfab1e8cc3bb10a6
|
7
|
+
data.tar.gz: 9f270d3af193419c86e44dbd78cbd3125ad95742c6b264be277c0e319a2c2175f902498484860c8a3964c9318c8ce9d5e485103a094cc762f2c47354cec56692
|
data/lib/asset_db/database.rb
CHANGED
@@ -6,12 +6,12 @@ module AssetDB
|
|
6
6
|
class Database
|
7
7
|
CONFIG_RESERVED = %w[types basepath folders].freeze
|
8
8
|
|
9
|
-
attr_reader :asset_types, :
|
9
|
+
attr_reader :asset_types, :basepath, :groups, :resolver
|
10
10
|
attr_accessor :separator
|
11
11
|
|
12
|
-
def initialize(asset_types: nil,
|
12
|
+
def initialize(asset_types: nil, basepath: nil)
|
13
13
|
@asset_types = (asset_types&.map(&:to_sym) || %i[css js]).freeze
|
14
|
-
@
|
14
|
+
@basepath = (basepath || '').dup
|
15
15
|
@separator = nil
|
16
16
|
@groups = {} # {id ⇒ Group}
|
17
17
|
@resolver = Resolver.new(self)
|
@@ -49,7 +49,7 @@ module AssetDB
|
|
49
49
|
|
50
50
|
group = asset.group
|
51
51
|
package = asset.package
|
52
|
-
path = @
|
52
|
+
path = @basepath.dup
|
53
53
|
unless path.empty?
|
54
54
|
path.gsub!(':type', asset.type.to_s)
|
55
55
|
path.gsub!(':group', group.folder_segment.to_s)
|
@@ -66,7 +66,7 @@ module AssetDB
|
|
66
66
|
# --------------- Config loader ---------------
|
67
67
|
def self.from_config(cfg)
|
68
68
|
cfg = cfg.transform_keys(&:to_s)
|
69
|
-
db = new(asset_types: cfg['types'],
|
69
|
+
db = new(asset_types: cfg['types'], basepath: cfg['basepath'])
|
70
70
|
|
71
71
|
folders_map = (cfg['folders'] || {}).transform_keys(&:to_s).dup
|
72
72
|
if sep = folders_map.delete('separator')
|
@@ -101,7 +101,7 @@ module AssetDB
|
|
101
101
|
p_spec.each do |k, v|
|
102
102
|
key = k.to_s
|
103
103
|
if db.asset_types.include?(key.to_sym) # ASSETS
|
104
|
-
Array(v).each { |url| pkg.asset(key, url) }
|
104
|
+
Array(v).each { |url| pkg.asset(key, url == true ? p_id + '.' + key : url) }
|
105
105
|
else # DEPENDENCIES
|
106
106
|
Array(v).each { |target_pkg| pkg.depends_on(target_pkg, group_id: key) }
|
107
107
|
end
|
@@ -114,7 +114,14 @@ module AssetDB
|
|
114
114
|
|
115
115
|
# Unify any number (≥2) of Package or PackageCollection into one collection
|
116
116
|
def unify(*items)
|
117
|
-
|
117
|
+
# Simple returns
|
118
|
+
if items.empty?
|
119
|
+
return nil
|
120
|
+
elsif items.size == 1
|
121
|
+
return Resolver::PackageCollection.new(self, items.first)
|
122
|
+
end
|
123
|
+
|
124
|
+
# Combine packages
|
118
125
|
merged = items.flat_map do |i|
|
119
126
|
case i
|
120
127
|
when Resolver::PackageCollection
|
data/lib/asset_db/resolver.rb
CHANGED
data/lib/asset_db/version.rb
CHANGED
data/lib/asset_db.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asset_db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Convincible Media
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-08-
|
11
|
+
date: 2025-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|