rails2_asset_pipeline 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock
CHANGED
data/Readme.md
CHANGED
@@ -4,7 +4,7 @@ Familiar asset handling for those stuck on Rails 2.
|
|
4
4
|
|
5
5
|
- sprockets/coffee/sass etc goodness
|
6
6
|
- application.js?time for development
|
7
|
-
- application-MD5.js for production
|
7
|
+
- application-MD5.js for production (and development without config.ru)
|
8
8
|
- old asset versions can stay around during deploys
|
9
9
|
- converter for jammit asset.yml
|
10
10
|
- no monkey-patching, everything is opt-in
|
@@ -5,7 +5,7 @@ module Rails2AssetPipeline
|
|
5
5
|
return "/assets/NOT_FOUND" unless data
|
6
6
|
asset = "/assets/#{asset}"
|
7
7
|
|
8
|
-
if Rails2AssetPipeline::STATIC_ENVIRONMENTS.include?(Rails.env)
|
8
|
+
if Rails2AssetPipeline::STATIC_ENVIRONMENTS.include?(Rails.env) and Rails2AssetPipeline.dynamic_assets_available
|
9
9
|
asset.sub(/(\.[\.a-z]+$)/, "-#{data.digest}\\1")
|
10
10
|
else
|
11
11
|
"#{asset}?#{data.mtime.to_i}"
|
@@ -4,6 +4,10 @@ require 'sprockets'
|
|
4
4
|
module Rails2AssetPipeline
|
5
5
|
STATIC_ENVIRONMENTS = ["production", "staging"]
|
6
6
|
|
7
|
+
class << self
|
8
|
+
attr_accessor :dynamic_assets_available
|
9
|
+
end
|
10
|
+
|
7
11
|
def self.env
|
8
12
|
@env || setup
|
9
13
|
end
|
@@ -21,6 +25,7 @@ module Rails2AssetPipeline
|
|
21
25
|
def self.config_ru
|
22
26
|
lambda do
|
23
27
|
unless STATIC_ENVIRONMENTS.include?(Rails.env)
|
28
|
+
Rails2AssetPipeline.dynamic_assets_available = true
|
24
29
|
map '/assets' do
|
25
30
|
run Rails2AssetPipeline.env
|
26
31
|
end
|
@@ -8,28 +8,42 @@ describe Rails2AssetPipeline::ViewHelpers do
|
|
8
8
|
|
9
9
|
before do
|
10
10
|
Rails2AssetPipeline.stub(:env).and_return env
|
11
|
+
Rails2AssetPipeline.dynamic_assets_available = true
|
12
|
+
env["xxx.js"] = mock(:digest => "abc", :mtime => Time.at(123456))
|
11
13
|
end
|
12
14
|
|
13
|
-
it "
|
14
|
-
|
15
|
-
env["xxx.js"] = mock(:mtime => Time.at(123456))
|
16
|
-
pipeline_path("xxx.js").should == "/assets/xxx.js?123456"
|
15
|
+
it "silently fails with unfound assets" do
|
16
|
+
pipeline_path("yyy.js").should == "/assets/NOT_FOUND"
|
17
17
|
end
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
19
|
+
context "development" do
|
20
|
+
before do
|
21
|
+
Rails.env = "development"
|
22
|
+
end
|
23
|
+
|
24
|
+
it "returns a path with query" do
|
25
|
+
pipeline_path("xxx.js").should == "/assets/xxx.js?123456"
|
26
|
+
end
|
24
27
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
28
|
+
it "returns a path with digest when dynamic loader is not available" do
|
29
|
+
Rails2AssetPipeline.dynamic_assets_available = false
|
30
|
+
pipeline_path("xxx.js").should == "/assets/xxx.js?123456"
|
31
|
+
end
|
29
32
|
end
|
30
33
|
|
31
|
-
|
32
|
-
|
34
|
+
context "production" do
|
35
|
+
before do
|
36
|
+
Rails.env = "production"
|
37
|
+
end
|
38
|
+
|
39
|
+
it "returns a path with md5" do
|
40
|
+
pipeline_path("xxx.js").should == "/assets/xxx-abc.js"
|
41
|
+
end
|
42
|
+
|
43
|
+
it "returns a path with md5 on production and complicated file" do
|
44
|
+
env["xxx.yy.js"] = env["xxx.js"]
|
45
|
+
pipeline_path("xxx.yy.js").should == "/assets/xxx-abc.yy.js"
|
46
|
+
end
|
33
47
|
end
|
34
48
|
end
|
35
49
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -2,6 +2,13 @@ $LOAD_PATH.unshift 'lib'
|
|
2
2
|
require 'rails2_asset_pipeline'
|
3
3
|
require 'rails2_asset_pipeline/view_helpers'
|
4
4
|
|
5
|
+
RSpec.configure do |config|
|
6
|
+
config.before do
|
7
|
+
# cleanup
|
8
|
+
Rails2AssetPipeline.dynamic_assets_available = false
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
5
12
|
module Rails
|
6
13
|
def self.env
|
7
14
|
@env || "test"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails2_asset_pipeline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -67,7 +67,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
67
67
|
version: '0'
|
68
68
|
segments:
|
69
69
|
- 0
|
70
|
-
hash:
|
70
|
+
hash: 960373205858034414
|
71
71
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
@@ -76,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
76
|
version: '0'
|
77
77
|
segments:
|
78
78
|
- 0
|
79
|
-
hash:
|
79
|
+
hash: 960373205858034414
|
80
80
|
requirements: []
|
81
81
|
rubyforge_project:
|
82
82
|
rubygems_version: 1.8.24
|