engine-assets 0.3.3 → 0.4.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/VERSION +1 -1
- data/engine-assets.gemspec +2 -8
- data/lib/engine-assets.rb +0 -2
- data/lib/engine_assets/public_locator.rb +15 -1
- data/spec/lib/engine_assets/public_locator_spec.rb +27 -2
- data/spec/support/shared/assets_routing_spec.rb +1 -0
- metadata +2 -8
- data/lib/engine_assets/extensions/rails/plugins.rb +0 -12
- data/lib/engine_assets/extensions/rails/routes.rb +0 -16
- data/spec/lib/engine_assets/extensions/rails/plugins_spec.rb +0 -52
- data/spec/lib/engine_assets/extensions/rails/routes_spec.rb +0 -28
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/engine-assets.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{engine-assets}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Corey Innis"]
|
12
|
-
s.date = %q{2009-11-
|
12
|
+
s.date = %q{2009-11-18}
|
13
13
|
s.description = %q{A Rails Engine, which enables Rails Engines to provide assets (javascript, css and images)}
|
14
14
|
s.email = %q{support@coolerator.net}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -31,14 +31,10 @@ Gem::Specification.new do |s|
|
|
31
31
|
"engine-assets.gemspec",
|
32
32
|
"lib/engine-assets.rb",
|
33
33
|
"lib/engine_assets/extensions/rails/assets.rb",
|
34
|
-
"lib/engine_assets/extensions/rails/plugins.rb",
|
35
|
-
"lib/engine_assets/extensions/rails/routes.rb",
|
36
34
|
"lib/engine_assets/public_locator.rb",
|
37
35
|
"rails/init.rb",
|
38
36
|
"spec/controllers/javascripts_controller_spec.rb",
|
39
37
|
"spec/controllers/stylesheets_controller_spec.rb",
|
40
|
-
"spec/lib/engine_assets/extensions/rails/plugins_spec.rb",
|
41
|
-
"spec/lib/engine_assets/extensions/rails/routes_spec.rb",
|
42
38
|
"spec/lib/engine_assets/public_locator_spec.rb",
|
43
39
|
"spec/routing/javascripts_routing_spec.rb",
|
44
40
|
"spec/routing/stylesheets_routing_spec.rb",
|
@@ -64,8 +60,6 @@ Gem::Specification.new do |s|
|
|
64
60
|
s.test_files = [
|
65
61
|
"spec/controllers/javascripts_controller_spec.rb",
|
66
62
|
"spec/controllers/stylesheets_controller_spec.rb",
|
67
|
-
"spec/lib/engine_assets/extensions/rails/plugins_spec.rb",
|
68
|
-
"spec/lib/engine_assets/extensions/rails/routes_spec.rb",
|
69
63
|
"spec/lib/engine_assets/public_locator_spec.rb",
|
70
64
|
"spec/routing/javascripts_routing_spec.rb",
|
71
65
|
"spec/routing/stylesheets_routing_spec.rb",
|
data/lib/engine-assets.rb
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
class EngineAssets::PublicLocator
|
2
2
|
class << self
|
3
|
-
|
3
|
+
attr_reader :paths
|
4
|
+
|
5
|
+
def register(full_path)
|
4
6
|
@paths ||= []
|
7
|
+
|
8
|
+
public_path = File.join(full_path, 'public')
|
9
|
+
File.open(public_path) {}
|
10
|
+
|
11
|
+
paths << public_path
|
5
12
|
end
|
6
13
|
|
7
14
|
def locate(file_path)
|
@@ -11,5 +18,12 @@ class EngineAssets::PublicLocator
|
|
11
18
|
end
|
12
19
|
nil
|
13
20
|
end
|
21
|
+
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def clear
|
26
|
+
@paths = []
|
27
|
+
end
|
14
28
|
end
|
15
29
|
end
|
@@ -5,11 +5,36 @@ describe EngineAssets::PublicLocator do
|
|
5
5
|
|
6
6
|
before do
|
7
7
|
@base_path = File.join('fixtures', 'public')
|
8
|
-
@full_path = File.join(basedir, 'spec', 'support',
|
8
|
+
@full_path = File.join(basedir, 'spec', 'support', 'fixtures')
|
9
9
|
@find_path = '/javascripts/dual.js'
|
10
10
|
@miss_path = '/javascripts/miss.js'
|
11
11
|
|
12
|
-
EngineAssets::PublicLocator.
|
12
|
+
EngineAssets::PublicLocator.send(:clear)
|
13
|
+
EngineAssets::PublicLocator.register(full_path)
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "#register" do
|
17
|
+
context "when the suggest path does not exist" do
|
18
|
+
it "raises an exception" do
|
19
|
+
lambda {
|
20
|
+
EngineAssets::PublicLocator.register('bogus')
|
21
|
+
}.should raise_error(Errno::ENOENT)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context "when the suggest path does not contain a 'public' directory" do
|
26
|
+
it "raises an exception" do
|
27
|
+
lambda {
|
28
|
+
EngineAssets::PublicLocator.register(File.dirname(__FILE__))
|
29
|
+
}.should raise_error(Errno::ENOENT)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context "when the suggest path is valid" do
|
34
|
+
it "adds the path" do
|
35
|
+
EngineAssets::PublicLocator.paths.should == ["#{full_path}/public"]
|
36
|
+
end
|
37
|
+
end
|
13
38
|
end
|
14
39
|
|
15
40
|
describe "#locate" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: engine-assets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Corey Innis
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-11-
|
12
|
+
date: 2009-11-18 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -46,14 +46,10 @@ files:
|
|
46
46
|
- engine-assets.gemspec
|
47
47
|
- lib/engine-assets.rb
|
48
48
|
- lib/engine_assets/extensions/rails/assets.rb
|
49
|
-
- lib/engine_assets/extensions/rails/plugins.rb
|
50
|
-
- lib/engine_assets/extensions/rails/routes.rb
|
51
49
|
- lib/engine_assets/public_locator.rb
|
52
50
|
- rails/init.rb
|
53
51
|
- spec/controllers/javascripts_controller_spec.rb
|
54
52
|
- spec/controllers/stylesheets_controller_spec.rb
|
55
|
-
- spec/lib/engine_assets/extensions/rails/plugins_spec.rb
|
56
|
-
- spec/lib/engine_assets/extensions/rails/routes_spec.rb
|
57
53
|
- spec/lib/engine_assets/public_locator_spec.rb
|
58
54
|
- spec/routing/javascripts_routing_spec.rb
|
59
55
|
- spec/routing/stylesheets_routing_spec.rb
|
@@ -101,8 +97,6 @@ summary: Rails Engines with assets.
|
|
101
97
|
test_files:
|
102
98
|
- spec/controllers/javascripts_controller_spec.rb
|
103
99
|
- spec/controllers/stylesheets_controller_spec.rb
|
104
|
-
- spec/lib/engine_assets/extensions/rails/plugins_spec.rb
|
105
|
-
- spec/lib/engine_assets/extensions/rails/routes_spec.rb
|
106
100
|
- spec/lib/engine_assets/public_locator_spec.rb
|
107
101
|
- spec/routing/javascripts_routing_spec.rb
|
108
102
|
- spec/routing/stylesheets_routing_spec.rb
|
@@ -1,12 +0,0 @@
|
|
1
|
-
class Rails::Plugin
|
2
|
-
class Loader
|
3
|
-
def register_plugin_as_loaded_with_engine_assets(plugin)
|
4
|
-
register_plugin_as_loaded_without_engine_assets(plugin)
|
5
|
-
|
6
|
-
if(plugin.engine? && File.exist?(public_dir = File.join(plugin.directory, 'public')))
|
7
|
-
EngineAssets::PublicLocator.paths << public_dir
|
8
|
-
end
|
9
|
-
end
|
10
|
-
alias_method_chain :register_plugin_as_loaded, :engine_assets
|
11
|
-
end
|
12
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
if defined?(ActionController::Routing::RouteSet)
|
2
|
-
class ActionController::Routing::RouteSet
|
3
|
-
def load_routes_with_assets!
|
4
|
-
lib_path = File.dirname(__FILE__)
|
5
|
-
engine_routes = File.join(lib_path, *%w[.. .. .. .. config routes.rb])
|
6
|
-
|
7
|
-
unless configuration_files.include?(engine_routes)
|
8
|
-
add_configuration_file(engine_routes)
|
9
|
-
end
|
10
|
-
|
11
|
-
load_routes_without_assets!
|
12
|
-
end
|
13
|
-
|
14
|
-
alias_method_chain :load_routes!, :assets
|
15
|
-
end
|
16
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
require 'spec/spec_helper'
|
2
|
-
|
3
|
-
describe Rails::Plugin::Loader do
|
4
|
-
attr_reader :loader, :plugin, :directory
|
5
|
-
|
6
|
-
before do
|
7
|
-
@loader = Rails::Plugin::Loader.new(OpenStruct.new({ :loaded_plugins => [] }))
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "#register_plugin_as_loaded" do
|
11
|
-
before do
|
12
|
-
paths = []
|
13
|
-
stub(EngineAssets::PublicLocator).paths { paths }
|
14
|
-
end
|
15
|
-
|
16
|
-
context "given a plugin which is an engine and contains a 'public' directory" do
|
17
|
-
before do
|
18
|
-
@directory = File.join(basedir, 'spec', 'support', 'fixtures')
|
19
|
-
@plugin = OpenStruct.new({ :engine? => true, :directory => directory })
|
20
|
-
end
|
21
|
-
|
22
|
-
it "registers the plugin with the EngineAssets::PublicLocator" do
|
23
|
-
loader.send(:register_plugin_as_loaded, plugin)
|
24
|
-
EngineAssets::PublicLocator.paths.should == [ "#{directory}/public" ]
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
context "given a plugin which is an engine and does NOT contain a 'public' directory" do
|
29
|
-
before do
|
30
|
-
@directory = basedir
|
31
|
-
@plugin = OpenStruct.new({ :engine? => true, :directory => directory })
|
32
|
-
end
|
33
|
-
|
34
|
-
it "does not register the plugin with the EngineAssets::PublicLocator" do
|
35
|
-
loader.send(:register_plugin_as_loaded, plugin)
|
36
|
-
EngineAssets::PublicLocator.paths.should == []
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
context "given a plugin which is NOT an engine" do
|
41
|
-
before do
|
42
|
-
@directory = File.join(basedir, 'spec', 'support', 'fixtures')
|
43
|
-
@plugin = OpenStruct.new({ :engine? => false, :directory => directory })
|
44
|
-
end
|
45
|
-
|
46
|
-
it "does not register the plugin with the EngineAssets::PublicLocator" do
|
47
|
-
loader.send(:register_plugin_as_loaded, plugin)
|
48
|
-
EngineAssets::PublicLocator.paths.should == []
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'spec/spec_helper'
|
2
|
-
|
3
|
-
describe ActionController::Routing::RouteSet do
|
4
|
-
describe "#load_routes!" do
|
5
|
-
class TestRouteSet < ActionController::Routing::RouteSet
|
6
|
-
attr_reader :configuration_files
|
7
|
-
|
8
|
-
def initialize
|
9
|
-
@configuration_files = []
|
10
|
-
end
|
11
|
-
|
12
|
-
def add_configuration_file(routes)
|
13
|
-
configuration_files << routes
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
attr_reader :routeset
|
18
|
-
|
19
|
-
before do
|
20
|
-
@routeset = TestRouteSet.new
|
21
|
-
end
|
22
|
-
|
23
|
-
it "adds the engine-assets routes configuration" do
|
24
|
-
routeset.load_routes!
|
25
|
-
routeset.configuration_files[0].should =~ /engine[-_ ]assets.*\/config\/routes\.rb/
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|