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 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