classy_assets 0.8.2 → 0.9.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/Gemfile +5 -0
- data/classy_assets.gemspec +0 -5
- data/lib/classy_assets/config.rb +8 -2
- data/lib/classy_assets/sprockets.rb +7 -10
- data/lib/classy_assets/tasks.rb +7 -7
- data/lib/classy_assets/version.rb +1 -1
- data/lib/classy_assets.rb +7 -9
- data/spec/classy_assets/config_spec.rb +5 -0
- data/spec/sinatra/classy_assets_spec.rb +1 -7
- data/spec/spec_helper.rb +12 -1
- metadata +1 -71
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 09060ae6447ae8e3f17758b01987a1cfef968a48
|
4
|
+
data.tar.gz: 78b1c6731372676a92be58dacea8bacadd83f79e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82cc2abbe97b65df3ed5efb942172d2706f0fa543afb0159a1f89d318f2a4df714d2685f421701b62587716ca559161675c990fdaf8ed077cb825bf8188522e4
|
7
|
+
data.tar.gz: b39d1aad214784f364dea6f30c78697555d03d366eec50cfa07ebec4d7b738400472295c5e390fdfc7324d2f3162aa73017a4a610baec8babdebe59ad7d6e7db
|
data/Gemfile
CHANGED
@@ -2,6 +2,11 @@ source 'https://rubygems.org'
|
|
2
2
|
gemspec
|
3
3
|
|
4
4
|
group :development, :test do
|
5
|
+
gem 'coffee-script', require: false
|
6
|
+
gem 'sass', require: false
|
7
|
+
gem 'compass', require: false
|
8
|
+
gem 'uglifier', require: false
|
9
|
+
gem 'yui-compressor', require: false
|
5
10
|
gem 'slim', require: false
|
6
11
|
gem 'minitest', require: false
|
7
12
|
gem 'minitest-spec-context', require: false
|
data/classy_assets.gemspec
CHANGED
@@ -18,12 +18,7 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.test_files = gem.files.grep(%r{^(spec)/})
|
19
19
|
gem.require_paths = ['lib']
|
20
20
|
|
21
|
-
gem.add_dependency 'coffee-script'
|
22
|
-
gem.add_dependency 'sass'
|
23
21
|
gem.add_dependency 'sprockets'
|
24
|
-
gem.add_dependency 'compass'
|
25
|
-
gem.add_dependency 'uglifier'
|
26
|
-
gem.add_dependency 'yui-compressor'
|
27
22
|
gem.add_dependency 'sinatra'
|
28
23
|
gem.add_dependency 'escape_utils'
|
29
24
|
|
data/lib/classy_assets/config.rb
CHANGED
@@ -1,15 +1,21 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
require 'singleton'
|
4
|
+
require 'classy_assets/errors/nil_asset_root'
|
4
5
|
|
5
6
|
module ClassyAssets
|
6
7
|
class Config
|
7
8
|
include Singleton
|
8
9
|
|
9
|
-
attr_accessor :asset_compress, :css_compressor, :js_compressor
|
10
|
+
attr_accessor :asset_cache, :asset_compress, :css_compressor, :js_compressor
|
10
11
|
attr_accessor :asset_debug, :asset_digest, :asset_host, :asset_paths, :asset_prefix, :asset_root
|
11
12
|
attr_accessor :asset_precompile_folder, :asset_precompile_files
|
12
13
|
|
14
|
+
def asset_cache
|
15
|
+
@asset_cache = (ENV['RACK_ENV'] == 'production') unless defined? @asset_cache
|
16
|
+
@asset_cache
|
17
|
+
end
|
18
|
+
|
13
19
|
def asset_compress
|
14
20
|
@asset_compress if defined? @asset_compress
|
15
21
|
end
|
@@ -47,7 +53,7 @@ module ClassyAssets
|
|
47
53
|
end
|
48
54
|
|
49
55
|
def asset_precompile_files
|
50
|
-
@asset_precompile_files ||=
|
56
|
+
@asset_precompile_files ||= [/\w+\.(?!js|css).+/, /application.(css|js)$/]
|
51
57
|
end
|
52
58
|
|
53
59
|
def asset_precompile_folder
|
@@ -1,25 +1,22 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
require 'singleton'
|
4
|
-
require 'sprockets'
|
5
3
|
|
4
|
+
require 'sprockets'
|
6
5
|
module ClassyAssets
|
7
6
|
class Sprockets
|
8
|
-
|
7
|
+
attr_accessor :asset_root
|
8
|
+
def initialize
|
9
|
+
@asset_root = ClassyAssets.config.asset_root
|
10
|
+
end
|
9
11
|
|
10
12
|
def environment
|
11
|
-
|
13
|
+
return @environment if @environment.instance_of? ::Sprockets::Environment
|
12
14
|
@environment = ::Sprockets::Environment.new(asset_root)
|
13
|
-
|
15
|
+
|
14
16
|
ClassyAssets.config.asset_paths.each do |asset_path|
|
15
17
|
@environment.append_path asset_path
|
16
18
|
end
|
17
19
|
|
18
|
-
if ClassyAssets.config.asset_compress
|
19
|
-
@environment.css_compressor = ClassyAssets.config.css_compressor
|
20
|
-
@environment.js_compressor = ClassyAssets.config.css_compressor
|
21
|
-
end
|
22
|
-
|
23
20
|
@environment.context_class.class_eval do
|
24
21
|
def asset_path(path, options = {})
|
25
22
|
ClassyAssets.asset_url_for(path)
|
data/lib/classy_assets/tasks.rb
CHANGED
@@ -4,17 +4,17 @@ require 'rake'
|
|
4
4
|
require 'rake/sprocketstask'
|
5
5
|
require 'classy_assets'
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
desc "Precompile assets"
|
10
|
-
task "assets:precompile" => [:assets]
|
11
|
-
end
|
7
|
+
module ClassyAssets
|
8
|
+
class Tasks < Rake::SprocketsTask ; end
|
12
9
|
end
|
13
10
|
|
14
11
|
Rake::ClassyAssetsTask.new do |t|
|
15
|
-
ClassyAssets.config.asset_compress
|
12
|
+
if ClassyAssets.config.asset_compress
|
13
|
+
ClassyAssets.sprockets.css_compressor = ClassyAssets.config.css_compressor
|
14
|
+
ClassyAssets.sprockets.js_compressor = ClassyAssets.config.css_compressor
|
15
|
+
end
|
16
|
+
|
16
17
|
t.environment = ClassyAssets.sprockets
|
17
18
|
t.output = ClassyAssets.config.asset_precompile_folder
|
18
19
|
t.assets = ClassyAssets.config.asset_precompile_files
|
19
|
-
t.define_precompile
|
20
20
|
end
|
data/lib/classy_assets.rb
CHANGED
@@ -1,10 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
# ensure these come first to avoid tilt warnings
|
4
|
-
require 'compass'
|
5
|
-
require 'sass'
|
6
|
-
require 'coffee_script'
|
7
|
-
|
8
3
|
# stdlib
|
9
4
|
require 'base64'
|
10
5
|
require 'escape_utils'
|
@@ -13,16 +8,19 @@ require 'sprockets'
|
|
13
8
|
|
14
9
|
# classy assets components
|
15
10
|
require 'classy_assets/config'
|
16
|
-
require 'classy_assets/errors/nil_asset_root'
|
17
|
-
require 'classy_assets/sass/script/functions'
|
18
11
|
require 'classy_assets/sprockets'
|
12
|
+
require 'classy_assets/sass/script/functions'
|
19
13
|
require 'classy_assets/sprockets/sass_importer'
|
20
14
|
require 'classy_assets/version'
|
21
15
|
|
22
16
|
module ClassyAssets
|
23
|
-
#
|
17
|
+
# sprockets environment
|
24
18
|
def self.sprockets
|
25
|
-
ClassyAssets
|
19
|
+
if ClassyAssets.config.asset_cache
|
20
|
+
ClassyAssets::Sprockets.new.environment.index
|
21
|
+
else
|
22
|
+
ClassyAssets::Sprockets.new.environment
|
23
|
+
end
|
26
24
|
end
|
27
25
|
|
28
26
|
# singleton configuration
|
@@ -20,11 +20,16 @@ describe ClassyAssets::Config do
|
|
20
20
|
config.asset_digest = true
|
21
21
|
config.asset_host = @asset_host
|
22
22
|
config.asset_paths << @vendor_path
|
23
|
+
config.asset_precompile_files = @asset_precompile_files
|
23
24
|
end
|
24
25
|
|
25
26
|
@configuration = ClassyAssets.config
|
26
27
|
end
|
27
28
|
|
29
|
+
it "returns the configured asset_cache" do
|
30
|
+
@configuration.asset_cache.must_equal false
|
31
|
+
end
|
32
|
+
|
28
33
|
it "returns the configured asset_compress" do
|
29
34
|
@configuration.asset_compress.must_equal nil
|
30
35
|
end
|
@@ -4,6 +4,7 @@ require 'spec_helper'
|
|
4
4
|
require 'sinatra/classy_assets'
|
5
5
|
|
6
6
|
class ClassySinatraApp < Sinatra::Base
|
7
|
+
use Rack::ClassyAssets
|
7
8
|
register Sinatra::ClassyAssets
|
8
9
|
|
9
10
|
get "/stylesheet_tag" do
|
@@ -77,11 +78,4 @@ describe Sinatra::ClassyAssets do
|
|
77
78
|
last_response.body.must_match(/<script src="\/assets\/application.js"><\/script>/)
|
78
79
|
end
|
79
80
|
end
|
80
|
-
|
81
|
-
context "uses Rack::ClassyAssets middleware" do
|
82
|
-
it "requests for assets will respond sucessfully" do
|
83
|
-
get '/assets/stylesheet.css'
|
84
|
-
last_response.status.must_equal 200
|
85
|
-
end
|
86
|
-
end
|
87
81
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -5,11 +5,22 @@ lib_path = File.expand_path('../lib', __FILE__)
|
|
5
5
|
($:.unshift lib_path) unless ($:.include? lib_path)
|
6
6
|
require 'bundler'
|
7
7
|
Bundler.setup(:default, ENV['RACK_ENV'])
|
8
|
-
|
8
|
+
|
9
|
+
# ensure these come first to avoid tilt warnings
|
10
|
+
require 'compass'
|
11
|
+
require 'sass'
|
12
|
+
require 'coffee_script'
|
9
13
|
require 'slim'
|
14
|
+
|
15
|
+
# require gem
|
10
16
|
require 'classy_assets'
|
17
|
+
|
18
|
+
# testing stack
|
19
|
+
require 'rack/test'
|
11
20
|
require 'minitest/autorun'
|
12
21
|
require "minitest-spec-context"
|
13
22
|
require 'minitest/reporters'
|
23
|
+
|
24
|
+
# boot the infernal machine
|
14
25
|
MiniTest::Reporters.use! MiniTest::Reporters::SpecReporter.new
|
15
26
|
include Rack::Test::Methods
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: classy_assets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- StyleSeek Engineering
|
@@ -10,34 +10,6 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2013-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: coffee-script
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - '>='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - '>='
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: sass
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - '>='
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - '>='
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
13
|
- !ruby/object:Gem::Dependency
|
42
14
|
name: sprockets
|
43
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,48 +24,6 @@ dependencies:
|
|
52
24
|
- - '>='
|
53
25
|
- !ruby/object:Gem::Version
|
54
26
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: compass
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - '>='
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: uglifier
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - '>='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - '>='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: yui-compressor
|
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'
|
97
27
|
- !ruby/object:Gem::Dependency
|
98
28
|
name: sinatra
|
99
29
|
requirement: !ruby/object:Gem::Requirement
|