savanna 0.0.4 → 0.0.5
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 +8 -8
- data/lib/savanna/assets.rb +26 -16
- data/lib/savanna/exceptions.rb +6 -0
- data/lib/savanna/version.rb +1 -1
- data/savanna.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NTc1NWIzZTBhMDU5NmYwYTU3NGY0NTljYWU1ZTc0ZGQ1YTY4NjgzMg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ODliMDcwMTM1N2YwYjkxMDc2MzU3MWYwYWQxYTgxNWIxNzM4YjU1MA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDdiYTAzMTI1ZjQ5Njc1ZTFmOTJhZDViYWQ4NjM4NGM2MGFmNGJhYTFlZjA2
|
10
|
+
NTRhNWY0NDQyYjRkYmRmOTU3ZTIzZjk0OTQxMDkwZWU0ZmFkMWViZjg2ZDk3
|
11
|
+
MTBmZGEwOGQzMDRhNzhkMTAwNDJjY2NkMmE1OTc4ODhkMzQ4NDI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YjkzYjIzNDFkNjE5NzFlY2MwYTNjMTljMWNkMTZmNThjNjNhMjBiNzdkOGFm
|
14
|
+
YjcyYjU1YjdmYTI1ZGNlNDc2ZGY3NTA5YzZmMmU5NjUzNGMzNmE5NzU3NDUw
|
15
|
+
YWM5YjRjMDY3NmFiZTQ1NzA2ODg2M2FkYjUyZjQwOWU3MzFjZDU=
|
data/lib/savanna/assets.rb
CHANGED
@@ -2,6 +2,7 @@ require "sass"
|
|
2
2
|
require 'coffee-script'
|
3
3
|
require "compass"
|
4
4
|
require "sprockets"
|
5
|
+
require "sprockets-helpers"
|
5
6
|
require "sprockets-sass"
|
6
7
|
require "yui/compressor"
|
7
8
|
require "uglifier"
|
@@ -19,19 +20,23 @@ class Savanna::Assets
|
|
19
20
|
|
20
21
|
def initialize(options)
|
21
22
|
@root_path = options[:root_path]
|
22
|
-
@sprockets = Sprockets::Environment.new
|
23
|
+
@sprockets = Sprockets::Environment.new do |env|
|
24
|
+
env.logger = Logger.new(STDOUT)
|
23
25
|
|
24
|
-
|
26
|
+
define_children_directories [@root_path] + ASSET_PATH do |path|
|
27
|
+
env.append_path path
|
28
|
+
end
|
25
29
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
30
|
+
Sprockets::Helpers.configure do |config|
|
31
|
+
config.environment = env
|
32
|
+
config.prefix = "/#{ASSET_DIR}"
|
33
|
+
config.digest = false
|
34
|
+
end
|
31
35
|
|
32
|
-
|
33
|
-
|
34
|
-
|
36
|
+
if options[:precompile]
|
37
|
+
env.css_compressor = ::YUI::CssCompressor.new
|
38
|
+
env.js_compressor = ::Uglifier.new mangle: true
|
39
|
+
end
|
35
40
|
end
|
36
41
|
end
|
37
42
|
|
@@ -48,6 +53,7 @@ class Savanna::Assets
|
|
48
53
|
|
49
54
|
precompile_files.each do |file|
|
50
55
|
asset = @sprockets[file]
|
56
|
+
raise FileNotFound.new file if asset.nil?
|
51
57
|
output_file = Pathname.new(output_dir).join file
|
52
58
|
FileUtils.mkdir_p output_file.dirname
|
53
59
|
asset.write_to output_file
|
@@ -70,7 +76,7 @@ class Savanna::Assets
|
|
70
76
|
end
|
71
77
|
raise EmptyPrecompileList if precompile_files.empty?
|
72
78
|
else
|
73
|
-
raise
|
79
|
+
raise PrecompileFileNotFound
|
74
80
|
end
|
75
81
|
|
76
82
|
return precompile_files
|
@@ -79,10 +85,14 @@ class Savanna::Assets
|
|
79
85
|
|
80
86
|
|
81
87
|
protected
|
82
|
-
def
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
88
|
+
def define_children_directories (paths, asset_dir = 'assets')
|
89
|
+
paths.each do |path|
|
90
|
+
['', 'app', 'vendor'].each do |dir|
|
91
|
+
puts "Appended path: #{File.join(path, dir, asset_dir)}"
|
92
|
+
yield File.join(path, dir, asset_dir, "javascripts")
|
93
|
+
yield File.join(path, dir, asset_dir, "images")
|
94
|
+
yield File.join(path, dir, asset_dir, "stylesheets")
|
95
|
+
end
|
96
|
+
end
|
87
97
|
end
|
88
98
|
end
|
data/lib/savanna/exceptions.rb
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
class Savanna::Assets::FileNotFound < Exception
|
2
|
+
def initialize(file_name)
|
3
|
+
super "Cannot find '#{file_name}' in assets."
|
4
|
+
end
|
5
|
+
end
|
6
|
+
|
7
|
+
class Savanna::Assets::PrecompileFileNotFound < Exception
|
2
8
|
def initialize
|
3
9
|
super "Please make 'savanna' file to precompile, check this: https://github.com/shawnjung/savanna"
|
4
10
|
end
|
data/lib/savanna/version.rb
CHANGED
data/savanna.gemspec
CHANGED
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_dependency 'rack'
|
24
24
|
spec.add_dependency 'sprockets'
|
25
25
|
spec.add_dependency 'sprockets-sass'
|
26
|
+
spec.add_dependency 'sprockets-helpers'
|
26
27
|
spec.add_dependency 'sass'
|
27
28
|
spec.add_dependency 'compass'
|
28
29
|
spec.add_dependency 'coffee-script'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: savanna
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shawn Jung
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ! '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: sprockets-helpers
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ! '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: sass
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|