Module: LuxAssets
- Extended by:
- LuxAssets
- Included in:
- LuxAssets
- Defined in:
- lib/lux_assets/base.rb,
lib/vendor/lux/assets_plugin.rb
Overview
LuxAssets.css(:admin).compile_all do |name, path|
puts "Compile #{name} -> #{path}"
end
Defined Under Namespace
Modules: Manifest
Classes: Asset, Element
Constant Summary
collapse
- CONFIG_PATH =
Pathname.new ENV.fetch('ASSET_CONFIG') { './config/assets.rb' }
Instance Method Summary
collapse
Instance Method Details
#add(added) ⇒ Object
adds file or list of files add ‘plugin:js_widgets/*’ add ‘js/vendor/*’ add ‘index.coffee’ add proc { … }
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
# File 'lib/lux_assets/base.rb', line 88
def add added
case added
when Array
add_local_files added
return
when Proc
@files += [added]
else
files =
if added[0,1] == '/' || added[0,2] == './'
added
else
"#{@relative_root}/#{added}"
end
files =
if files.include?('*')
files += '/*' if files =~ %r{\/\*\*$}
Dir[files].sort
else
[files]
end
files = files.select { |it| File.file?(it) }
if files[0]
add_local_files files
else
die 'No files found in "%s -> :%s" (%s)'.red % [@ext, @name, added]
end
end
end
|
#asset(name) ⇒ Object
46
47
48
49
|
# File 'lib/lux_assets/base.rb', line 46
def asset name
@name = name.to_s
yield
end
|
#compile_all ⇒ Object
127
128
129
130
131
132
133
134
135
|
# File 'lib/lux_assets/base.rb', line 127
def compile_all
for ext in [:js, :css]
for name in to_h[ext].keys
path = LuxAssets.send(ext, name).compile
yield "#{ext}/#{name}", path if block_given?
end
end
end
|
51
52
53
|
# File 'lib/lux_assets/base.rb', line 51
def configure &block
class_eval &block
end
|
#css(name = nil, &block) ⇒ Object
79
80
81
|
# File 'lib/lux_assets/base.rb', line 79
def css name=nil, &block
add_files :css, name, block
end
|
#die(text) ⇒ Object
41
42
43
44
|
# File 'lib/lux_assets/base.rb', line 41
def die text
puts text
exit
end
|
#files(name) ⇒ Object
get list of files in the resource
122
123
124
125
|
# File 'lib/lux_assets/base.rb', line 122
def files name
parts = name.split('/', 2)
to_h[parts.first.to_sym][parts[1]]
end
|
#js(name = nil, &block) ⇒ Object
75
76
77
|
# File 'lib/lux_assets/base.rb', line 75
def js name=nil, &block
add_files :js, name, block
end
|
#plugin(name) ⇒ Object
include files from a plugin
4
5
6
7
8
9
10
|
# File 'lib/vendor/lux/assets_plugin.rb', line 4
def plugin name
Lux.plugin name
plugin = Lux.plugin.get name
add '%s/**' % plugin[:folder]
end
|
#relative_root(name = nil) ⇒ Object
36
37
38
39
|
# File 'lib/lux_assets/base.rb', line 36
def relative_root name=nil
@relative_root = name if name
@relative_root
end
|
#run(what, cache_file = nil) ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/lux_assets/base.rb', line 55
def run what, cache_file=nil
puts what.yellow
stdin, stdout, stderr, wait_thread = Open3.popen3(what)
error = stderr.gets
while line = stderr.gets do
error += line
end
error = nil if error && error.index('Rendering Complete, saving .css file...')
if error
cache_file.unlink if cache_file && cache_file.exist?
puts error.red
end
end
|
#to_h ⇒ Object
137
138
139
140
141
142
143
144
145
|
# File 'lib/lux_assets/base.rb', line 137
def to_h
unless @assets_loaded
die 'Assets file not found in %s' % CONFIG_PATH unless CONFIG_PATH.exist?
@assets_loaded = true
eval CONFIG_PATH.read
end
@assets
end
|