user_stylesheet 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/user_stylesheet.rb +27 -18
- data/user_stylesheet.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 494c2810d1dcef51f30d94f8aca696bea1428714
|
4
|
+
data.tar.gz: 7ef678e5ce1165915544c01b2e60fdbec5e93459
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75c568d3ec5799129c91b740b78049304413147a8476ef52ad6a9eae0195da8eebdc7140f5bd12f7e414f6665fc33a46573b129365943c8c0dd6b1d59aeeb4a6
|
7
|
+
data.tar.gz: cd7ce06c98f52a795eb4de05f0be3941dfe96a3dd8dd795ace5e9dfe67d2530603136da8f59c4ce1210b45642af4199d9f41d36ced2591fd78d241f8222bd869
|
data/lib/user_stylesheet.rb
CHANGED
@@ -6,46 +6,55 @@ class UserStylesheet
|
|
6
6
|
@scss_variables = OpenStruct.new(scss_variables)
|
7
7
|
@file_info = file_info
|
8
8
|
@scss_info = scss_info.empty? ? default_scss_info : scss_info
|
9
|
-
@scss_file = File.open(scss_file_path, 'w')
|
10
9
|
end
|
11
10
|
|
12
11
|
def compile
|
13
12
|
overwrite_scss
|
14
13
|
File.write(scss_file.path, render_css)
|
15
|
-
File.
|
14
|
+
newpath = File.join(file_info[:tmp_dir], "#{file_info[:file_name]}.css")
|
15
|
+
File.rename(scss_file.path, newpath)
|
16
|
+
File.new(newpath)
|
16
17
|
end
|
17
18
|
|
18
19
|
private
|
19
20
|
|
20
|
-
def
|
21
|
-
|
21
|
+
def default_scss_info
|
22
|
+
{
|
23
|
+
syntax: :scss,
|
24
|
+
cache: false,
|
25
|
+
read_cache: false,
|
26
|
+
style: :compressed
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
def overwrite_scss
|
31
|
+
template_body = ERB.new(File.read(File.expand_path(file_info[:template_file_path]))).result(binding)
|
32
|
+
@scss_file = File.open(scss_file_path, 'w') { |f| f.write(template_body); f.flush }
|
33
|
+
end
|
34
|
+
|
35
|
+
def scss_file_dir
|
36
|
+
@scss_file_path ||= File.expand_path(file_info[:tmp_dir])
|
22
37
|
end
|
23
38
|
|
24
39
|
def scss_file_path
|
25
|
-
@scss_file_path ||= File.join(
|
40
|
+
@scss_file_path ||= File.join(scss_file_dir, "#{file_info[:file_name]}.scss")
|
26
41
|
end
|
27
42
|
|
28
|
-
def
|
29
|
-
|
30
|
-
File.open(scss_file_path, 'w') { |f| f.write(template_body) }
|
43
|
+
def render_css
|
44
|
+
Sass::Engine.new(asset_source, scss_info).render
|
31
45
|
end
|
32
46
|
|
33
47
|
def asset_source
|
34
48
|
if env.find_asset(file_info[:file_name])
|
35
49
|
env.find_asset(file_info[:file_name]).source
|
36
50
|
else
|
37
|
-
|
38
|
-
asset = Sprockets::UnloadedAsset.new(uri, env)
|
39
|
-
env.load(asset.uri).source
|
51
|
+
unloaded_asset
|
40
52
|
end
|
41
53
|
end
|
42
54
|
|
43
|
-
def
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
read_cache: false,
|
48
|
-
style: :compressed
|
49
|
-
}
|
55
|
+
def unloaded_asset
|
56
|
+
uri = Sprockets::URIUtils.build_asset_uri(scss_file.path, type: 'text/css')
|
57
|
+
asset = Sprockets::UnloadedAsset.new(uri, env)
|
58
|
+
env.load(asset.uri).source
|
50
59
|
end
|
51
60
|
end
|
data/user_stylesheet.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'user_stylesheet'
|
7
|
-
spec.version = '0.0.
|
7
|
+
spec.version = '0.0.4'
|
8
8
|
spec.date = '2015-10-27'
|
9
9
|
spec.summary = 'Dynamic user stylesheets'
|
10
10
|
spec.description = 'Dynamic user stylesheets'
|