rails2_asset_pipeline 0.2.0 → 0.3.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.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rails2_asset_pipeline (0.2.0)
4
+ rails2_asset_pipeline (0.3.0)
5
5
  sprockets
6
6
 
7
7
  GEM
@@ -10,19 +10,19 @@ GEM
10
10
  bump (0.3.9)
11
11
  diff-lcs (1.1.3)
12
12
  hike (1.2.1)
13
- json (1.7.3)
13
+ json (1.7.6)
14
14
  multi_json (1.5.0)
15
- rack (1.4.3)
16
- rake (0.9.2)
17
- rspec (2.6.0)
18
- rspec-core (~> 2.6.0)
19
- rspec-expectations (~> 2.6.0)
20
- rspec-mocks (~> 2.6.0)
21
- rspec-core (2.6.4)
22
- rspec-expectations (2.6.0)
23
- diff-lcs (~> 1.1.2)
24
- rspec-mocks (2.6.0)
25
- sprockets (2.4.3)
15
+ rack (1.4.4)
16
+ rake (10.0.3)
17
+ rspec (2.12.0)
18
+ rspec-core (~> 2.12.0)
19
+ rspec-expectations (~> 2.12.0)
20
+ rspec-mocks (~> 2.12.0)
21
+ rspec-core (2.12.2)
22
+ rspec-expectations (2.12.1)
23
+ diff-lcs (~> 1.1.3)
24
+ rspec-mocks (2.12.1)
25
+ sprockets (2.8.2)
26
26
  hike (~> 1.2)
27
27
  multi_json (~> 1.0)
28
28
  rack (~> 1.0)
data/Readme.md CHANGED
@@ -62,6 +62,9 @@ if Rails.env.development? # dynamic asset compilation needs these
62
62
  require 'sprockets/source_url' # sprockets-source_url for debugable assets in chrome
63
63
  end
64
64
 
65
+ # Use a different path for assets (as in config.assets.prefix from ")
66
+ # Rails2AssetPipeline.prefix = 'static_assets'
67
+
65
68
  Rails2AssetPipeline.setup do |sprockets|
66
69
  # ... additional config ...
67
70
  end
@@ -150,19 +153,16 @@ Rails2AssetPipeline.manifest = Rails.root.join("spec/fixtures/empty_manifest.jso
150
153
  - add `sass` to your gems for sass parsing
151
154
  - add `sprockets-sass` to your gems for sass @import support
152
155
 
153
-
154
156
  # Todo
155
157
  - read config from Rails 3 style config.assets
156
- - make output location configurable in .setup and use it for manifest location and rake tasks
157
-
158
-
159
-
158
+ - sprockets 2.8 wants to use manifest-digest.json, had to overwrite that, find out if nonpstatic manifest makes sense for us and potentially have an option to turn it on
160
159
 
161
160
  Author
162
161
  ======
163
162
 
164
163
  ### [Contributors](https://github.com/grosser/rails2_asset_pipeline/contributors)
165
164
  - [Michael Peteuil](https://github.com/mpeteuil)
165
+ - [Elia Schito](https://github.com/elia)
166
166
 
167
167
  [Michael Grosser](http://grosser.it)<br/>
168
168
  michael@grosser.it<br/>
@@ -5,7 +5,7 @@ module Rails2AssetPipeline
5
5
  STATIC_ENVIRONMENTS = ["production", "staging"]
6
6
 
7
7
  class << self
8
- attr_accessor :dynamic_assets_available, :manifest
8
+ attr_accessor :dynamic_assets_available, :manifest, :prefix
9
9
  end
10
10
 
11
11
  def self.env
@@ -24,10 +24,12 @@ module Rails2AssetPipeline
24
24
 
25
25
  def self.config_ru(rack)
26
26
  unless STATIC_ENVIRONMENTS.include?(Rails.env)
27
+ prefix = Rails2AssetPipeline.prefix
28
+
27
29
  Rails2AssetPipeline.dynamic_assets_available = true
28
30
 
29
31
  rack.instance_eval do
30
- map "/assets" do
32
+ map "/#{prefix}" do
31
33
  run Rails2AssetPipeline.env
32
34
  end
33
35
  end
@@ -50,6 +52,10 @@ module Rails2AssetPipeline
50
52
  @manifest ||= "#{Rails.root}/public/assets/manifest.json"
51
53
  end
52
54
 
55
+ def self.prefix
56
+ @prefix ||= 'assets'
57
+ end
58
+
53
59
  def self.warn_user_about_misconfiguration!
54
60
  return unless Rails2AssetPipeline.static?
55
61
  return if @manifest_exists ||= File.exist?(manifest)
@@ -2,6 +2,8 @@ require 'yaml'
2
2
 
3
3
  module Rails2AssetPipeline
4
4
  module JammitConverter
5
+ extend Rake::DSL
6
+
5
7
  def self.convert
6
8
  move_to_app
7
9
  cleanup_scss
@@ -7,7 +7,10 @@ namespace :assets do
7
7
  namespace :r2ap do
8
8
  Rake::SprocketsTask.new do |t|
9
9
  t.environment = Rails2AssetPipeline.env
10
- t.output = "./public/assets"
10
+ t.output = "./public/#{Rails2AssetPipeline.prefix}"
11
+ if t.respond_to?(:manifest=) # sprockets 2.8+ ?
12
+ t.manifest = Sprockets::Manifest.new(t.environment.index, "./public/#{Rails2AssetPipeline.prefix}/manifest.json")
13
+ end
11
14
  t.assets = t.environment.paths.map{|p| Dir["#{p.sub(Rails.root.to_s,"")}/**/*"] }.flatten
12
15
  t.log_level = Logger::ERROR
13
16
  t.keep = 2
@@ -1,3 +1,3 @@
1
1
  module Rails2AssetPipeline
2
- VERSION = '0.2.0'
2
+ VERSION = '0.3.0'
3
3
  end
@@ -23,8 +23,12 @@ module Rails2AssetPipeline
23
23
  end
24
24
  end
25
25
 
26
+ def assets_prefix
27
+ Rails2AssetPipeline.prefix
28
+ end
29
+
26
30
  def rails_asset_id(file)
27
- if file.start_with?("/assets/")
31
+ if file.start_with?("/#{assets_prefix}/")
28
32
  nil
29
33
  else
30
34
  super
@@ -42,8 +46,8 @@ module Rails2AssetPipeline
42
46
  data ? "#{asset}?#{data.mtime.to_i}" : "DID_NOT_FIND_#{asset}_IN_ASSETS"
43
47
  end
44
48
 
45
- "/assets/#{asset_with_id}"
49
+ "/#{assets_prefix}/#{asset_with_id}"
46
50
  end
47
- module_function :asset_path
51
+ module_function :assets_prefix, :asset_path
48
52
  end
49
53
  end
@@ -31,7 +31,19 @@ describe "Rails2AssetPipeline Tasks" do
31
31
  describe "assets:precompile" do
32
32
  it "compiles" do
33
33
  run "rake assets:precompile"
34
- run("ls public/assets").should == "application-ceff92e831a69f6e164737670664e886.js\nmanifest.json\n"
34
+ run("ls public/assets").should == "application-09565e705ecd8821e8ca69c50e3e2bae.js\nmanifest.json\n"
35
+ end
36
+
37
+ context "with a custom prefix" do
38
+ after do
39
+ run "rm -rf public/static-assets"
40
+ end
41
+
42
+ it "compiles" do
43
+ write "config/initializers/rails2_asset_pipeline.rb", "Rails2AssetPipeline.prefix = 'static-assets'"
44
+ run "rake assets:precompile"
45
+ run("ls public/static-assets").should == "application-09565e705ecd8821e8ca69c50e3e2bae.js\nmanifest.json\n"
46
+ end
35
47
  end
36
48
  end
37
49
 
@@ -19,6 +19,7 @@ describe Rails2AssetPipeline::ViewHelpers do
19
19
  let(:env){
20
20
  env = {}
21
21
  env.stub(:logger).and_return mock()
22
+ env.stub(:is_a?).with(Sprockets::Base).and_return true
22
23
  env
23
24
  }
24
25
 
@@ -90,6 +91,16 @@ describe Rails2AssetPipeline::ViewHelpers do
90
91
  end
91
92
  end
92
93
 
94
+ context "with a custom prefix" do
95
+ before do
96
+ Rails2AssetPipeline.prefix = 'static-assets'
97
+ end
98
+
99
+ it "returns a path with digest" do
100
+ asset_path("xxx.js").should == "/static-assets/xxx.js?123456"
101
+ end
102
+ end
103
+
93
104
  context "with no way of resolving assets" do
94
105
  before do
95
106
  Rails.env = "production"
@@ -52,6 +52,12 @@ describe Rails2AssetPipeline do
52
52
  @mapped.should == nil
53
53
  (!!result).should == false
54
54
  end
55
+
56
+ it "respects the prefix" do
57
+ Rails2AssetPipeline.prefix = "static-assets"
58
+ Rails2AssetPipeline.config_ru(self)
59
+ @mapped.should == ["/static-assets"]
60
+ end
55
61
  end
56
62
 
57
63
  describe ".manifest" do
@@ -90,4 +96,15 @@ describe Rails2AssetPipeline do
90
96
  Rails2AssetPipeline.with_dynamic_assets_available(false){ 5 }.should == 5
91
97
  end
92
98
  end
99
+
100
+ describe '.prefix' do
101
+ it 'can be set' do
102
+ Rails2AssetPipeline.prefix = "xxx"
103
+ Rails2AssetPipeline.prefix.should == "xxx"
104
+ end
105
+
106
+ it 'is there' do
107
+ Rails2AssetPipeline.prefix.should == 'assets'
108
+ end
109
+ end
93
110
  end
data/spec/spec_helper.rb CHANGED
@@ -10,6 +10,7 @@ RSpec.configure do |config|
10
10
  Rails2AssetPipeline::ViewHelpers.ignored_folders = nil
11
11
  Rails2AssetPipeline.class_eval{ @manifest_exists = nil }
12
12
  Rails2AssetPipeline.manifest = nil
13
+ Rails2AssetPipeline.prefix = nil
13
14
  end
14
15
  end
15
16
 
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.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-11 00:00:00.000000000 Z
12
+ date: 2013-01-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sprockets
@@ -67,7 +67,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
67
67
  version: '0'
68
68
  segments:
69
69
  - 0
70
- hash: 3234184968952417120
70
+ hash: 4425275783523912848
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: 3234184968952417120
79
+ hash: 4425275783523912848
80
80
  requirements: []
81
81
  rubyforge_project:
82
82
  rubygems_version: 1.8.24