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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c7b7b2b313b66855b97f17bc0e63a0e3b92afe8d
4
- data.tar.gz: 2dd5eb01c1252ebbd10dcf90059b23fc8a582f2b
3
+ metadata.gz: 4252b56d66f9dea37af0ef446445e070a7d5a9a9
4
+ data.tar.gz: 5ec8f9478dba54a860cdfbff7b8db92bb0b5343d
5
5
  SHA512:
6
- metadata.gz: c0618f2c52dd26020137b5b736f2789d42dd296d01a564dcaa50fa0b8be097d1a4e5ffb853f6bc361dca1c741882a1aeea2f016395f63536fd9ca0a162744fd3
7
- data.tar.gz: 3602bdbb153049052b22ba8308605dc65cc3d25ef43d785698598a3caf1c52b69aee9fa4f9e9d22320786234d777ae0c7cde0adddd975e96dabf545465115fce
6
+ metadata.gz: 1ad565d0ec7f6b57dba98c13aea31981e1975f3f839d46e91f673ac8ea19af1e02b744499a8889487a008b4915eccc76c8a1ab0034d90df5e145efc61bff9cfe
7
+ data.tar.gz: f3fc377cfe437f1dec5ae1fa41e7676a57ab3fca7ffee30e460ed42eb89727c9f9adb8098c020237b4372cbb384f2f2905a2fe4c2769cbebedf870b55d6fb222
@@ -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
@@ -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
- module ClassyAssets
7
- module Tasks
8
- def self.import!
9
- tasks_path = File.expand_path('../tasks/', __FILE__)
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
- ClassyAssets::Tasks.import!
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
@@ -1,3 +1,3 @@
1
1
  module ClassyAssets
2
- VERSION = "0.7.2"
2
+ VERSION = "0.8.0"
3
3
  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.7.2
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-12 00:00:00.000000000 Z
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