classy_assets 0.7.2 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/classy_assets/config.rb +10 -1
- data/lib/classy_assets/tasks.rb +12 -7
- data/lib/classy_assets/version.rb +1 -1
- data/spec/classy_assets/config_spec.rb +10 -0
- metadata +2 -3
- data/lib/classy_assets/tasks/assets.rake +0 -119
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4252b56d66f9dea37af0ef446445e070a7d5a9a9
|
4
|
+
data.tar.gz: 5ec8f9478dba54a860cdfbff7b8db92bb0b5343d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ad565d0ec7f6b57dba98c13aea31981e1975f3f839d46e91f673ac8ea19af1e02b744499a8889487a008b4915eccc76c8a1ab0034d90df5e145efc61bff9cfe
|
7
|
+
data.tar.gz: f3fc377cfe437f1dec5ae1fa41e7676a57ab3fca7ffee30e460ed42eb89727c9f9adb8098c020237b4372cbb384f2f2905a2fe4c2769cbebedf870b55d6fb222
|
data/lib/classy_assets/config.rb
CHANGED
@@ -6,8 +6,9 @@ module ClassyAssets
|
|
6
6
|
class Config
|
7
7
|
include Singleton
|
8
8
|
|
9
|
-
attr_accessor :asset_debug, :asset_digest, :asset_host, :asset_paths, :asset_prefix, :asset_root
|
10
9
|
attr_accessor :asset_compress, :css_compressor, :js_compressor
|
10
|
+
attr_accessor :asset_debug, :asset_digest, :asset_host, :asset_paths, :asset_prefix, :asset_root
|
11
|
+
attr_accessor :asset_precompile_folder, :asset_precompile_files
|
11
12
|
|
12
13
|
def asset_compress
|
13
14
|
@asset_compress if defined? @asset_compress
|
@@ -45,6 +46,14 @@ module ClassyAssets
|
|
45
46
|
@asset_root
|
46
47
|
end
|
47
48
|
|
49
|
+
def asset_precompile_files
|
50
|
+
@asset_precompile_files ||= %w(application.css application.js)
|
51
|
+
end
|
52
|
+
|
53
|
+
def asset_precompile_folder
|
54
|
+
@asset_precompile_folder ||= "./public/#{ClassyAssets.config.asset_prefix}"
|
55
|
+
end
|
56
|
+
|
48
57
|
private
|
49
58
|
|
50
59
|
def build_asset_paths
|
data/lib/classy_assets/tasks.rb
CHANGED
@@ -1,14 +1,19 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
require 'rake'
|
4
|
+
require 'rake/sprocketstask'
|
4
5
|
require 'classy_assets'
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
Rake.application.add_import File.join(tasks_path, 'assets.rake')
|
11
|
-
end
|
7
|
+
class Rake::ClassyAssetsTask < Rake::SprocketsTask
|
8
|
+
def define_precompile
|
9
|
+
desc "Precompile assets"
|
10
|
+
task "assets:precompile" => [:assets]
|
12
11
|
end
|
13
12
|
end
|
14
|
-
|
13
|
+
|
14
|
+
Rake::ClassyAssetsTask.new do |t|
|
15
|
+
t.environment = ClassyAssets.sprockets
|
16
|
+
t.output = ClassyAssets.config.asset_precompile_folder
|
17
|
+
t.assets = ClassyAssets.config.asset_precompile_files
|
18
|
+
t.define_precompile
|
19
|
+
end
|
@@ -11,6 +11,8 @@ describe ClassyAssets::Config do
|
|
11
11
|
@asset_paths = Dir.glob(File.join(@asset_root, @asset_prefix, '*'))
|
12
12
|
@vendor_path = File.expand_path('../../support/vendor', __FILE__)
|
13
13
|
@asset_paths << @vendor_path
|
14
|
+
@asset_precompile_files = %w(application.css application.js)
|
15
|
+
@asset_precompile_folder = "./public/#{@asset_prefix}"
|
14
16
|
|
15
17
|
ClassyAssets.config do |config|
|
16
18
|
config.asset_root = @asset_root # must be configured first
|
@@ -58,4 +60,12 @@ describe ClassyAssets::Config do
|
|
58
60
|
it "returns the configured asset_paths" do
|
59
61
|
@configuration.asset_paths.must_equal @asset_paths
|
60
62
|
end
|
63
|
+
|
64
|
+
it "returns the configured asset_precompile_files" do
|
65
|
+
@configuration.asset_precompile_files.must_equal @asset_precompile_files
|
66
|
+
end
|
67
|
+
|
68
|
+
it "returns the configured asset_precompile_folder" do
|
69
|
+
@configuration.asset_precompile_folder.must_equal @asset_precompile_folder
|
70
|
+
end
|
61
71
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: classy_assets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- StyleSeek Engineering
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: coffee-script
|
@@ -189,7 +189,6 @@ files:
|
|
189
189
|
- lib/classy_assets/sprockets.rb
|
190
190
|
- lib/classy_assets/sprockets/sass_importer.rb
|
191
191
|
- lib/classy_assets/tasks.rb
|
192
|
-
- lib/classy_assets/tasks/assets.rake
|
193
192
|
- lib/classy_assets/version.rb
|
194
193
|
- lib/rack/classy_assets.rb
|
195
194
|
- lib/sinatra/classy_assets.rb
|
@@ -1,119 +0,0 @@
|
|
1
|
-
require 'fileutils'
|
2
|
-
|
3
|
-
namespace :assets do
|
4
|
-
desc "Compile all the assets"
|
5
|
-
task :precompile do
|
6
|
-
Rake::Task["assets:precompile:all"].invoke
|
7
|
-
end
|
8
|
-
|
9
|
-
desc "Remove compiled assets"
|
10
|
-
task :clean do
|
11
|
-
puts "Removing compiled assets..."
|
12
|
-
FileUtils.rm_rf(Dir.glob(File.join(_public_folder, '**', '*')))
|
13
|
-
puts "Done!"
|
14
|
-
end
|
15
|
-
|
16
|
-
namespace :precompile do
|
17
|
-
task :all do
|
18
|
-
puts "Compiling all assets..."
|
19
|
-
Rake::Task["assets:precompile:css"].invoke
|
20
|
-
Rake::Task["assets:precompile:js"].invoke
|
21
|
-
Rake::Task["assets:precompile:img"].invoke
|
22
|
-
Rake::Task["assets:precompile:font"].invoke
|
23
|
-
puts "Done!"
|
24
|
-
end
|
25
|
-
|
26
|
-
task :css do
|
27
|
-
_css_files.each do |css_file|
|
28
|
-
_compile(css_file, false)
|
29
|
-
_compile(css_file, true)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
task :js do
|
34
|
-
_js_files.each do |js_file|
|
35
|
-
_compile(js_file, false)
|
36
|
-
_compile(js_file, true)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
task :img do
|
41
|
-
_img_files.each do |img_file|
|
42
|
-
_compile(img_file, false)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
task :font do
|
47
|
-
_font_files.each do |font_file|
|
48
|
-
_compile(font_file, false)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
private
|
54
|
-
|
55
|
-
def _public_folder
|
56
|
-
File.join(ClassyAssets::Configuration.public_path, ClassyAssets::Configuration.asset_prefix)
|
57
|
-
end
|
58
|
-
|
59
|
-
def _assets_root
|
60
|
-
File.join(ClassyAssets::Configuration.root_path, ClassyAssets::Configuration.asset_prefix)
|
61
|
-
end
|
62
|
-
|
63
|
-
def _remove_load_paths(file)
|
64
|
-
file.gsub!(Regexp.union(ClassyAssets::Configuration.asset_paths), '')
|
65
|
-
file.gsub!(/^\//, '')
|
66
|
-
file
|
67
|
-
end
|
68
|
-
|
69
|
-
def _asset_files(type)
|
70
|
-
files = Dir.glob(File.join(_assets_root, type, '**', '*'))
|
71
|
-
files.reject! { |f| File.directory?(f) }
|
72
|
-
files.map! { |f| _remove_load_paths(f) }
|
73
|
-
#files.map! {|f| Pathname.new(f).basename.to_s }
|
74
|
-
files.to_a
|
75
|
-
end
|
76
|
-
|
77
|
-
def _css_files
|
78
|
-
_asset_files('stylesheets')
|
79
|
-
end
|
80
|
-
|
81
|
-
def _js_files
|
82
|
-
_asset_files('javascripts')
|
83
|
-
end
|
84
|
-
|
85
|
-
def _img_files
|
86
|
-
_asset_files('images')
|
87
|
-
end
|
88
|
-
|
89
|
-
def _font_files
|
90
|
-
_asset_files('fonts')
|
91
|
-
end
|
92
|
-
|
93
|
-
def _path_to(filename)
|
94
|
-
Pathname.new(File.join(_public_folder, filename))
|
95
|
-
end
|
96
|
-
|
97
|
-
def _sprockets
|
98
|
-
@sprockets ||= ClassyAssets::Configuration.sprockets
|
99
|
-
end
|
100
|
-
|
101
|
-
def _replace_ext(filename)
|
102
|
-
filename.gsub!(/sass$|scss$/,'css')
|
103
|
-
filename.gsub!(/coffee$/,'js')
|
104
|
-
filename
|
105
|
-
end
|
106
|
-
|
107
|
-
def _compile(filename, compress = false)
|
108
|
-
filename = _replace_ext(filename)
|
109
|
-
asset = _sprockets[filename]
|
110
|
-
if compress
|
111
|
-
file = _path_to(filename + ".gz")
|
112
|
-
else
|
113
|
-
file = _path_to(filename)
|
114
|
-
end
|
115
|
-
FileUtils.mkdir_p file.dirname
|
116
|
-
asset.write_to(file, { compress: compress })
|
117
|
-
puts " ✓ #{file.basename}"
|
118
|
-
end
|
119
|
-
end
|