classy_assets 0.7.2 → 0.8.0
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 +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
|