rill 0.0.2 → 0.0.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.
- data/lib/rill.rb +9 -4
- metadata +1 -1
data/lib/rill.rb
CHANGED
|
@@ -14,6 +14,10 @@ class Rill
|
|
|
14
14
|
@preloads = attrs[:preloads] || []
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
+
def modules
|
|
18
|
+
@modules
|
|
19
|
+
end
|
|
20
|
+
|
|
17
21
|
def resolve(mods)
|
|
18
22
|
@modules = []
|
|
19
23
|
@codes = []
|
|
@@ -22,11 +26,11 @@ class Rill
|
|
|
22
26
|
mods = [mods]
|
|
23
27
|
end
|
|
24
28
|
mods.each do |mod|
|
|
25
|
-
|
|
29
|
+
resolve_module(mod)
|
|
26
30
|
end
|
|
27
31
|
end
|
|
28
32
|
|
|
29
|
-
def
|
|
33
|
+
def resolve_module(mod)
|
|
30
34
|
return if @preloads.include?(mod) || @modules.include?(mod)
|
|
31
35
|
|
|
32
36
|
mod = parse_mod(mod)
|
|
@@ -44,7 +48,7 @@ class Rill
|
|
|
44
48
|
deps = parse_deps_from_define(code)
|
|
45
49
|
deps.each do |dep|
|
|
46
50
|
dep = expand_path(dep, mod)
|
|
47
|
-
|
|
51
|
+
resolve_module(dep)
|
|
48
52
|
end
|
|
49
53
|
end
|
|
50
54
|
|
|
@@ -107,6 +111,7 @@ class Rill
|
|
|
107
111
|
def expand_path(dep, mod)
|
|
108
112
|
# 与 File.expand_path 的逻辑还是有些分别的
|
|
109
113
|
base = mod.include?('/') ? mod.slice(0, mod.rindex('/') + 1) : ''
|
|
114
|
+
relativep = dep.start_with?('.')
|
|
110
115
|
|
|
111
116
|
while dep.start_with?('.')
|
|
112
117
|
dep.sub!(/^\.\//, '')
|
|
@@ -116,7 +121,7 @@ class Rill
|
|
|
116
121
|
end
|
|
117
122
|
end
|
|
118
123
|
|
|
119
|
-
base + dep
|
|
124
|
+
relativep ? base + dep : dep
|
|
120
125
|
end
|
|
121
126
|
|
|
122
127
|
def parse_deps_from_define(code)
|