paste 0.2.2 → 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/README.rdoc +20 -36
- data/lib/paste/cache.rb +33 -0
- data/lib/paste/compress.rb +71 -0
- data/lib/paste/erb_renderer.rb +53 -0
- data/lib/paste/glue.rb +46 -3
- data/lib/paste/parser/sprockets.rb +42 -36
- data/lib/paste/rails/helper.rb +27 -16
- data/lib/paste/rails/railtie.rb +7 -7
- data/lib/paste/rails/updater.rb +2 -0
- data/lib/paste/rails.rb +3 -3
- data/lib/paste/resolver.rb +5 -4
- data/lib/paste/tasks/paste.rake +1 -6
- data/lib/paste/version.rb +1 -1
- data/lib/paste.rb +10 -29
- data/spec/paste/cache_spec.rb +41 -0
- data/spec/paste/{js/config_spec.rb → config_spec.rb} +12 -12
- data/spec/paste/erb_spec.rb +88 -0
- data/spec/paste/glue_spec.rb +56 -0
- data/spec/paste/provides_spec.rb +18 -0
- data/spec/paste/rails/helper_spec.rb +45 -26
- data/spec/spec_helper.rb +4 -4
- data/spec/support/helpers.rb +35 -49
- metadata +21 -43
- data/lib/paste/capistrano.rb +0 -32
- data/lib/paste/css/base.rb +0 -6
- data/lib/paste/js/base.rb +0 -26
- data/lib/paste/js/cache.rb +0 -111
- data/lib/paste/js/chain.rb +0 -55
- data/lib/paste/js/compress.rb +0 -46
- data/lib/paste/js/erb_renderer.rb +0 -55
- data/lib/paste/js/unify.rb +0 -38
- data/spec/paste/css/provides_spec.rb +0 -29
- data/spec/paste/js/cache_spec.rb +0 -47
- data/spec/paste/js/chain_spec.rb +0 -133
- data/spec/paste/js/compress_spec.rb +0 -43
- data/spec/paste/js/erb_spec.rb +0 -106
- data/spec/paste/js/unify_spec.rb +0 -90
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Paste::Glue, 'building cached concatenations' do
|
4
|
+
|
5
|
+
before :each do
|
6
|
+
Paste::Test.write 'foo', 'foo()'
|
7
|
+
Paste::Test.write 'bar', 'bar()'
|
8
|
+
Paste::Test.write 'foo/baz', 'baz()'
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should rebuild within the same instance of the unifier" do
|
12
|
+
subject.rebuild
|
13
|
+
|
14
|
+
subject.should have_in_result('foo', 'foo()')
|
15
|
+
subject.should have_in_result('bar', 'bar()')
|
16
|
+
subject.should have_in_result('foo/baz', 'baz()')
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should rebuild pre-existing results despite modification times" do
|
20
|
+
subject.rebuild
|
21
|
+
|
22
|
+
Paste::Test.write 'foo', 'foo2()', Time.now - 42
|
23
|
+
Paste::Test.write 'bar', 'bar2()', Time.now - 42
|
24
|
+
Paste::Test.write 'foo/baz', 'baz2()', Time.now - 42
|
25
|
+
|
26
|
+
subject.rebuild
|
27
|
+
|
28
|
+
subject.should have_in_result('foo', 'foo2()')
|
29
|
+
subject.should have_in_result('bar', 'bar2()')
|
30
|
+
subject.should have_in_result('foo/baz', 'baz2()')
|
31
|
+
end
|
32
|
+
|
33
|
+
it "doesn't explode when one of the files is removed after a rebuild" do
|
34
|
+
subject.rebuild
|
35
|
+
|
36
|
+
Paste::Test.delete_source 'foo'
|
37
|
+
|
38
|
+
subject.rebuild
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -10,24 +10,24 @@ describe Paste::Glue, 'configuration' do
|
|
10
10
|
subject.config.root = '/foo/bar'
|
11
11
|
subject.resolve('nonexistent').should == '/foo/bar/nonexistent'
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
it "should allow relative paths to the root to be set for configuration" do
|
15
|
-
subject.config.root
|
16
|
-
subject.config.tmp_path
|
17
|
-
subject.config.erb_path
|
18
|
-
subject.config.
|
19
|
-
|
15
|
+
subject.config.root = '/foo/bar'
|
16
|
+
subject.config.tmp_path = 'tmp'
|
17
|
+
subject.config.erb_path = 'erb'
|
18
|
+
subject.config.js_destination = 'dst'
|
19
|
+
|
20
20
|
subject.tmp_path.should == '/foo/bar/tmp'
|
21
21
|
subject.erb_path.should == '/foo/bar/erb'
|
22
22
|
subject.destination.should == '/foo/bar/dst'
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
it "should allow absolute paths to the root to be set for configuration" do
|
26
|
-
subject.config.root
|
27
|
-
subject.config.tmp_path
|
28
|
-
subject.config.erb_path
|
29
|
-
subject.config.
|
30
|
-
|
26
|
+
subject.config.root = '/foo/bar'
|
27
|
+
subject.config.tmp_path = '/tmp'
|
28
|
+
subject.config.erb_path = '/erb'
|
29
|
+
subject.config.js_destination = '/dst'
|
30
|
+
|
31
31
|
subject.tmp_path.should == '/tmp'
|
32
32
|
subject.erb_path.should == '/erb'
|
33
33
|
subject.destination.should == '/dst'
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Paste::Glue do
|
4
|
+
|
5
|
+
it "should render an erb file into a temporary location" do
|
6
|
+
Paste::Test.write 'foo.js.erb', ''
|
7
|
+
subject.render_all_erb
|
8
|
+
|
9
|
+
subject.erb_path('foo.js').should exist
|
10
|
+
end
|
11
|
+
|
12
|
+
it "should execute the ERB in the file" do
|
13
|
+
Paste::Test.write 'foo.js.erb', '<%= "foo" %><%= "bar" %>'
|
14
|
+
subject.render_all_erb
|
15
|
+
|
16
|
+
subject.erb_path('foo.js').should have_contents('foobar')
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should handle deeply nested erb files alright" do
|
20
|
+
Paste::Test.write 'foo/bar/baz.js.erb', '<%= "foo" %><%= "bar" %>'
|
21
|
+
subject.render_all_erb
|
22
|
+
|
23
|
+
subject.erb_path('foo/bar/baz.js').should have_contents('foobar')
|
24
|
+
end
|
25
|
+
|
26
|
+
it "shouldn't try to render regular js files" do
|
27
|
+
Paste::Test.write 'foo', 'foo()'
|
28
|
+
subject.render_all_erb
|
29
|
+
|
30
|
+
subject.erb_path('foo.js').should_not exist
|
31
|
+
end
|
32
|
+
|
33
|
+
describe Paste::Glue, "pasting a variety of regular/erb files" do
|
34
|
+
it "should use the generated ERB file when pasting" do
|
35
|
+
Paste::Test.write 'foo.js.erb', '<%= "foo" %><%= "bar" %>'
|
36
|
+
Paste::Test.write 'bar', "//= require <foo>\nbar()"
|
37
|
+
subject.render_all_erb
|
38
|
+
|
39
|
+
subject.paste('bar')
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should watch for a file to be changed to an ERB file" do
|
43
|
+
Paste::Test.write 'foo', 'foo'
|
44
|
+
subject.render_all_erb
|
45
|
+
Paste::Test.delete_source 'foo'
|
46
|
+
|
47
|
+
Paste::Test.write 'foo.js.erb', '<%= "foo" %><%= "bar" %>'
|
48
|
+
subject.render_all_erb
|
49
|
+
|
50
|
+
subject.paste('foo')
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "modifying existing files" do
|
55
|
+
before :each do
|
56
|
+
Paste::Test.write subject.erb_path('foo.js'), 'foo'
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should regenerate the file if the source was modified" do
|
60
|
+
# File is modified after the original one
|
61
|
+
Paste::Test.write 'foo.js.erb', 'foobar', Time.now + 42
|
62
|
+
|
63
|
+
subject.render_all_erb
|
64
|
+
|
65
|
+
subject.erb_path('foo.js').should have_contents('foobar')
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should not regenerate the file if the source was not modified" do
|
69
|
+
Paste::Test.write 'foo.js.erb', 'foobar', Time.now - 42
|
70
|
+
subject.render_all_erb
|
71
|
+
|
72
|
+
subject.erb_path('foo.js').should have_contents('foo')
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
context "rails" do
|
77
|
+
before :each do
|
78
|
+
Rails = {:foo => 'bar'}
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should allow templates to use Rails instead of ::Rails" do
|
82
|
+
Paste::Test.write 'foo.js.erb', '<%= Rails[:foo] %>'
|
83
|
+
subject.render_all_erb
|
84
|
+
|
85
|
+
subject.erb_path('foo.js').should have_contents('bar')
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Paste::Glue do
|
4
|
+
before :each do
|
5
|
+
Paste::Test.write 'foo', 'foo()'
|
6
|
+
Paste::Test.write 'bar', 'bar()'
|
7
|
+
Paste::Test.write 'foo/baz', 'baz()'
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should return the sources given" do
|
11
|
+
results = subject.paste('foo', 'bar', 'foo/baz')[:javascripts]
|
12
|
+
|
13
|
+
results.sort.should == ['bar.js', 'foo.js', 'foo/baz.js']
|
14
|
+
end
|
15
|
+
|
16
|
+
it "returns the sources with dependencies satisfied" do
|
17
|
+
Paste::Test.write 'foo', "//= require <foo/bar>\n//= require <bar>"
|
18
|
+
Paste::Test.write 'bar', '//= require <foo/bar>'
|
19
|
+
Paste::Test.write 'foo/bar', 'foobar()'
|
20
|
+
|
21
|
+
subject.paste('foo', 'bar', 'foo/bar')[:javascripts].should == ['foo/bar.js', 'bar.js', 'foo.js']
|
22
|
+
end
|
23
|
+
|
24
|
+
it "raises an exception on circular dependencies" do
|
25
|
+
Paste::Test.write 'foo', '//= require <bar>'
|
26
|
+
Paste::Test.write 'bar', '//= require <foo>'
|
27
|
+
|
28
|
+
lambda {
|
29
|
+
subject.paste('foo', 'bar')
|
30
|
+
}.should raise_exception(/circular dependency/i)
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "regenerating files" do
|
34
|
+
it "watches for changes in dependencies" do
|
35
|
+
Paste::Test.write 'foo', '//= require <bar>'
|
36
|
+
Paste::Test.write 'bar', ''
|
37
|
+
Paste::Test.write 'baz', ''
|
38
|
+
subject.paste('foo')
|
39
|
+
|
40
|
+
Paste::Test.write 'bar', '//= require <baz>', Time.now + 42
|
41
|
+
|
42
|
+
subject.paste('foo')[:javascripts].should == ['baz.js', 'bar.js', 'foo.js']
|
43
|
+
end
|
44
|
+
|
45
|
+
it "watches for changes in deep dependencies" do
|
46
|
+
Paste::Test.write 'foo', ''
|
47
|
+
Paste::Test.write 'bar', ''
|
48
|
+
subject.paste('foo')
|
49
|
+
|
50
|
+
Paste::Test.write 'foo', '//= require <bar>', Time.now + 42
|
51
|
+
|
52
|
+
subject.paste('foo')[:javascripts].should == ['bar.js', 'foo.js']
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Paste::Glue, 'as a css provider' do
|
4
|
+
before :each do
|
5
|
+
Paste::Test.write 'foo', '//= require_css <foo>'
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should require the css" do
|
9
|
+
result = subject.paste 'foo'
|
10
|
+
result[:stylesheets].should == ['foo']
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should not require multiple css twice" do
|
14
|
+
Paste::Test.write 'bar', '//= require_css <foo>'
|
15
|
+
|
16
|
+
subject.paste('foo', 'bar')[:stylesheets].should == ['foo']
|
17
|
+
end
|
18
|
+
end
|
@@ -1,12 +1,16 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Paste::Rails::Helper do
|
4
|
-
|
4
|
+
|
5
5
|
before :each do
|
6
6
|
@helper = Object.new
|
7
7
|
@helper.class.send :include, subject
|
8
8
|
end
|
9
9
|
|
10
|
+
after :each do
|
11
|
+
Paste.config.no_cache = false
|
12
|
+
end
|
13
|
+
|
10
14
|
describe "working with javascript" do
|
11
15
|
it "should register the include_javascript method" do
|
12
16
|
@helper.include_javascript 'foobar'
|
@@ -34,84 +38,99 @@ describe Paste::Rails::Helper do
|
|
34
38
|
|
35
39
|
@glue.should_receive(:paste).with('foo', 'bar').and_return(
|
36
40
|
:javascripts => [],
|
37
|
-
:
|
41
|
+
:stylesheets => []
|
38
42
|
)
|
39
43
|
|
40
44
|
@helper.include_javascript 'foo'
|
41
|
-
@helper.
|
45
|
+
@helper.javascript_tags 'bar'
|
42
46
|
end
|
43
47
|
|
44
48
|
it "should return the javascript include tags" do
|
45
49
|
@helper.should_receive(:javascript_include_tag).with(
|
46
|
-
'foo', 'bar').and_return 'foo.js'
|
50
|
+
'foo', 'bar', instance_of(Hash)).and_return 'foo.js'
|
47
51
|
Paste::Rails.stub(:glue).and_return(
|
48
52
|
mock(Paste::Glue, :paste => {
|
49
|
-
:
|
50
|
-
:
|
53
|
+
:javascripts => ['foo', 'bar'],
|
54
|
+
:stylesheets => ['bar/baz']
|
51
55
|
})
|
52
56
|
)
|
53
57
|
|
54
|
-
@helper.
|
58
|
+
@helper.javascript_tags('foo').should == 'foo.js'
|
59
|
+
end
|
60
|
+
|
61
|
+
it "doesn't cache javascripts when asked to not do so" do
|
62
|
+
Paste::Test.write 'bar', 'test'
|
63
|
+
Paste.config.no_cache = true
|
64
|
+
@helper.should_receive(:javascript_include_tag).with('bar.js')
|
65
|
+
|
66
|
+
@helper.javascript_tags('bar')
|
55
67
|
end
|
56
68
|
end
|
57
69
|
|
58
70
|
describe "working with css" do
|
59
71
|
it "should register the include_css method" do
|
60
|
-
@helper.
|
72
|
+
@helper.stylesheet 'foobar'
|
61
73
|
|
62
|
-
@helper.
|
74
|
+
@helper.included_stylesheets.should == ['foobar']
|
63
75
|
end
|
64
76
|
|
65
77
|
it "should allow multiple sources to be included at once" do
|
66
|
-
@helper.
|
78
|
+
@helper.include_stylesheets 'foo', 'bar'
|
67
79
|
|
68
|
-
@helper.
|
80
|
+
@helper.included_stylesheets.should == ['foo', 'bar']
|
69
81
|
end
|
70
82
|
|
71
83
|
it "shouldn't allow multiple sources to be in the list" do
|
72
|
-
@helper.
|
73
|
-
@helper.
|
84
|
+
@helper.include_stylesheets 'foo', 'bar'
|
85
|
+
@helper.include_stylesheet 'foo'
|
74
86
|
|
75
|
-
@helper.
|
87
|
+
@helper.included_stylesheets.should == ['foo', 'bar']
|
76
88
|
end
|
77
89
|
|
78
90
|
it "should return the stylesheet link tags for what was included" do
|
79
|
-
@helper.
|
91
|
+
@helper.include_stylesheets 'foo', 'bar'
|
80
92
|
@helper.should_receive(:stylesheet_link_tag).with(
|
81
93
|
'foo', 'bar', instance_of(Hash)).and_return 'foo.css'
|
82
|
-
Paste::Rails.stub(:glue).and_return(Paste::
|
94
|
+
Paste::Rails.stub(:glue).and_return(Paste::Glue.new)
|
83
95
|
|
84
|
-
@helper.
|
96
|
+
@helper.stylesheet_tags.should == 'foo.css'
|
85
97
|
end
|
86
|
-
|
98
|
+
|
87
99
|
it "should return the stylesheet link tags for what is specified" do
|
88
100
|
@helper.should_receive(:stylesheet_link_tag).with(
|
89
101
|
'foo', 'bar', instance_of(Hash)).and_return 'foo.css'
|
90
|
-
Paste::Rails.stub(:glue).and_return(Paste::
|
102
|
+
Paste::Rails.stub(:glue).and_return(Paste::Glue.new)
|
91
103
|
|
92
|
-
@helper.
|
104
|
+
@helper.stylesheet_tags('foo', 'bar').should == 'foo.css'
|
93
105
|
end
|
94
|
-
|
106
|
+
|
95
107
|
it "should include css required by the javascript" do
|
96
|
-
Paste::
|
108
|
+
Paste::Test.write 'foo.js', '//= require_css <bar>'
|
97
109
|
@helper.include_javascript 'foo'
|
98
110
|
@helper.should_receive(:stylesheet_link_tag).with(
|
99
111
|
'bar', instance_of(Hash)).and_return 'bar.css'
|
100
112
|
|
101
|
-
@helper.
|
113
|
+
@helper.stylesheet_tags.should == 'bar.css'
|
114
|
+
end
|
115
|
+
|
116
|
+
it "doesn't cache stylesheets when asked to not do so" do
|
117
|
+
Paste.config.no_cache = true
|
118
|
+
@helper.should_receive(:stylesheet_link_tag).with('bar')
|
119
|
+
|
120
|
+
@helper.stylesheet_tags('bar')
|
102
121
|
end
|
103
122
|
end
|
104
123
|
|
105
124
|
describe "the default glue value" do
|
106
125
|
it "should be a unifier by default" do
|
107
|
-
Paste::Rails.glue.should be_a(Paste::
|
126
|
+
Paste::Rails.glue.should be_a(Paste::Glue)
|
108
127
|
end
|
109
128
|
|
110
129
|
it "should be swappable" do
|
111
|
-
@chain = Paste::
|
130
|
+
@chain = Paste::Glue
|
112
131
|
Paste::Rails.glue = @chain
|
113
132
|
|
114
133
|
Paste::Rails.glue.should == @chain
|
115
134
|
end
|
116
|
-
end
|
135
|
+
end
|
117
136
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -5,18 +5,18 @@ require 'fileutils'
|
|
5
5
|
require 'rspec/core'
|
6
6
|
require 'paste'
|
7
7
|
|
8
|
-
Paste
|
8
|
+
Paste.configure do |config|
|
9
9
|
config.root = File.expand_path('../tmp', __FILE__)
|
10
10
|
end
|
11
11
|
|
12
|
-
Paste
|
13
|
-
Paste
|
12
|
+
Paste.config.js_load_path = ['js_sources']
|
13
|
+
Paste.config.js_destination = 'destination'
|
14
14
|
|
15
15
|
RSpec.configure do |c|
|
16
16
|
c.color_enabled = true
|
17
17
|
|
18
18
|
c.after(:each) do
|
19
|
-
FileUtils.rm_rf Paste
|
19
|
+
FileUtils.rm_rf Paste.config.root
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
data/spec/support/helpers.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
def dump_tree
|
2
|
-
raise Dir[Paste
|
2
|
+
raise Dir[Paste.config.root + '/**/*'].map { |f|
|
3
3
|
unless File.directory?(f)
|
4
4
|
out = f
|
5
5
|
out += "\n\t- " + File.read(f).gsub("\n", "\n\t- ")
|
@@ -11,64 +11,50 @@ def dump_tree
|
|
11
11
|
end
|
12
12
|
|
13
13
|
module Paste
|
14
|
-
module
|
15
|
-
|
16
|
-
file = path source
|
17
|
-
FileUtils.mkdir_p File.dirname(file)
|
18
|
-
File.open(file, 'w') { |f| f << contents }
|
14
|
+
module Test
|
15
|
+
class << self
|
19
16
|
|
20
|
-
|
21
|
-
|
17
|
+
def write source, contents, last_modified = Time.now
|
18
|
+
file = path source
|
19
|
+
FileUtils.mkdir_p File.dirname(file)
|
20
|
+
File.open(file, 'w') { |f| f << contents }
|
22
21
|
|
23
|
-
|
24
|
-
|
25
|
-
end
|
22
|
+
touch source, last_modified
|
23
|
+
end
|
26
24
|
|
27
|
-
|
28
|
-
|
25
|
+
def touch source, modified_time = Time.now
|
26
|
+
File.utime Time.now, modified_time, path(source)
|
27
|
+
end
|
29
28
|
|
30
|
-
|
31
|
-
|
32
|
-
file.end_with?('.erb')
|
33
|
-
file
|
34
|
-
end
|
29
|
+
def path source
|
30
|
+
return source if source.to_s[0...1] == '/'
|
35
31
|
|
36
|
-
|
37
|
-
|
38
|
-
|
32
|
+
file = File.join(Paste::Glue.load_path.first, source)
|
33
|
+
file += '.' + extension unless file.end_with?('.' + extension) ||
|
34
|
+
file.end_with?('.erb')
|
35
|
+
file
|
36
|
+
end
|
39
37
|
|
40
|
-
|
41
|
-
|
42
|
-
|
38
|
+
def delete result
|
39
|
+
delete_file File.join(Paste::Glue.destination, result)
|
40
|
+
end
|
43
41
|
|
44
|
-
|
42
|
+
def delete_source source
|
43
|
+
delete_file File.join(Paste::Glue.load_path.first, source)
|
44
|
+
end
|
45
45
|
|
46
|
-
|
47
|
-
file += '.' + extension unless file.end_with?('.' + extension)
|
46
|
+
protected
|
48
47
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
def base
|
53
|
-
Paste.const_get(extension.upcase).const_get('Base')
|
54
|
-
end
|
55
|
-
end
|
48
|
+
def extension
|
49
|
+
'js'
|
50
|
+
end
|
56
51
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
'js'
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
module CSS
|
66
|
-
module Test
|
67
|
-
extend TestBase
|
68
|
-
|
69
|
-
def self.extension
|
70
|
-
'css'
|
52
|
+
def delete_file file
|
53
|
+
file += '.' + extension unless file.end_with?('.' + extension)
|
54
|
+
|
55
|
+
File.delete(file)
|
71
56
|
end
|
57
|
+
|
72
58
|
end
|
73
59
|
end
|
74
|
-
end
|
60
|
+
end
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 0.
|
7
|
+
- 3
|
8
|
+
- 0
|
9
|
+
version: 0.3.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Alex Crichton
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-09-
|
17
|
+
date: 2010-09-30 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -30,22 +30,9 @@ dependencies:
|
|
30
30
|
type: :runtime
|
31
31
|
prerelease: false
|
32
32
|
version_requirements: *id001
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: closure-compiler
|
35
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
segments:
|
41
|
-
- 0
|
42
|
-
version: "0"
|
43
|
-
type: :runtime
|
44
|
-
prerelease: false
|
45
|
-
version_requirements: *id002
|
46
33
|
- !ruby/object:Gem::Dependency
|
47
34
|
name: activesupport
|
48
|
-
requirement: &
|
35
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
49
36
|
none: false
|
50
37
|
requirements:
|
51
38
|
- - ">="
|
@@ -58,7 +45,7 @@ dependencies:
|
|
58
45
|
version: 3.0.0.beta4
|
59
46
|
type: :runtime
|
60
47
|
prerelease: false
|
61
|
-
version_requirements: *
|
48
|
+
version_requirements: *id002
|
62
49
|
description: Asset Management for Rails
|
63
50
|
email: alex@alexcrichton.com
|
64
51
|
executables: []
|
@@ -69,15 +56,10 @@ extra_rdoc_files:
|
|
69
56
|
- README.rdoc
|
70
57
|
files:
|
71
58
|
- lib/paste.rb
|
72
|
-
- lib/paste/
|
73
|
-
- lib/paste/
|
59
|
+
- lib/paste/cache.rb
|
60
|
+
- lib/paste/compress.rb
|
61
|
+
- lib/paste/erb_renderer.rb
|
74
62
|
- lib/paste/glue.rb
|
75
|
-
- lib/paste/js/base.rb
|
76
|
-
- lib/paste/js/cache.rb
|
77
|
-
- lib/paste/js/chain.rb
|
78
|
-
- lib/paste/js/compress.rb
|
79
|
-
- lib/paste/js/erb_renderer.rb
|
80
|
-
- lib/paste/js/unify.rb
|
81
63
|
- lib/paste/parser/sprockets.rb
|
82
64
|
- lib/paste/rails.rb
|
83
65
|
- lib/paste/rails/helper.rb
|
@@ -87,13 +69,11 @@ files:
|
|
87
69
|
- lib/paste/tasks/paste.rake
|
88
70
|
- lib/paste/version.rb
|
89
71
|
- README.rdoc
|
90
|
-
- spec/paste/
|
91
|
-
- spec/paste/
|
92
|
-
- spec/paste/
|
93
|
-
- spec/paste/
|
94
|
-
- spec/paste/
|
95
|
-
- spec/paste/js/erb_spec.rb
|
96
|
-
- spec/paste/js/unify_spec.rb
|
72
|
+
- spec/paste/cache_spec.rb
|
73
|
+
- spec/paste/config_spec.rb
|
74
|
+
- spec/paste/erb_spec.rb
|
75
|
+
- spec/paste/glue_spec.rb
|
76
|
+
- spec/paste/provides_spec.rb
|
97
77
|
- spec/paste/rails/helper_spec.rb
|
98
78
|
- spec/spec_helper.rb
|
99
79
|
- spec/support/helpers.rb
|
@@ -112,7 +92,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
92
|
requirements:
|
113
93
|
- - ">="
|
114
94
|
- !ruby/object:Gem::Version
|
115
|
-
hash: -
|
95
|
+
hash: -2371119180319752676
|
116
96
|
segments:
|
117
97
|
- 0
|
118
98
|
version: "0"
|
@@ -121,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
101
|
requirements:
|
122
102
|
- - ">="
|
123
103
|
- !ruby/object:Gem::Version
|
124
|
-
hash: -
|
104
|
+
hash: -2371119180319752676
|
125
105
|
segments:
|
126
106
|
- 0
|
127
107
|
version: "0"
|
@@ -133,13 +113,11 @@ signing_key:
|
|
133
113
|
specification_version: 3
|
134
114
|
summary: JS and CSS dependency management
|
135
115
|
test_files:
|
136
|
-
- spec/paste/
|
137
|
-
- spec/paste/
|
138
|
-
- spec/paste/
|
139
|
-
- spec/paste/
|
140
|
-
- spec/paste/
|
141
|
-
- spec/paste/js/erb_spec.rb
|
142
|
-
- spec/paste/js/unify_spec.rb
|
116
|
+
- spec/paste/cache_spec.rb
|
117
|
+
- spec/paste/config_spec.rb
|
118
|
+
- spec/paste/erb_spec.rb
|
119
|
+
- spec/paste/glue_spec.rb
|
120
|
+
- spec/paste/provides_spec.rb
|
143
121
|
- spec/paste/rails/helper_spec.rb
|
144
122
|
- spec/spec_helper.rb
|
145
123
|
- spec/support/helpers.rb
|
data/lib/paste/capistrano.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
Capistrano::Configuration.instance(true).load do
|
2
|
-
after 'deploy:setup', 'paste:create_cache'
|
3
|
-
after 'deploy:update_code', 'paste:link_cache'
|
4
|
-
before 'deploy:symlink', 'paste:rebuild'
|
5
|
-
|
6
|
-
namespace :paste do
|
7
|
-
desc "Rebuild javascripts and such"
|
8
|
-
task :rebuild do
|
9
|
-
# Don't fail if paste isn't installed or something like that. Force this
|
10
|
-
# command to succeed
|
11
|
-
env = exists?(:rails_env) ? rails_env : 'production'
|
12
|
-
run "cd #{latest_release} && " +
|
13
|
-
"rake RAILS_ENV=#{env} paste:rebuild; echo ''"
|
14
|
-
end
|
15
|
-
|
16
|
-
task :compress do
|
17
|
-
env = exists?(:rails_env) ? rails_env : 'production'
|
18
|
-
run "cd #{latest_release} && " +
|
19
|
-
"rake RAILS_ENV=#{env} paste:compress"
|
20
|
-
end
|
21
|
-
|
22
|
-
desc "Create a directory for caching javascript and such"
|
23
|
-
task :create_cache do
|
24
|
-
run "mkdir -p #{shared_path}/paste-cache"
|
25
|
-
end
|
26
|
-
|
27
|
-
desc "Link the cache directory into place"
|
28
|
-
task :link_cache do
|
29
|
-
run "ln -nsf #{shared_path}/paste-cache #{latest_release}/tmp"
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|