engine-assets 0.2.1 → 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/TODO.md +2 -0
- data/VERSION +1 -1
- data/engine-assets.gemspec +10 -3
- data/lib/engine-assets.rb +2 -1
- data/lib/engine_assets/extensions/rails/assets.rb +15 -0
- data/lib/engine_assets/extensions/rails/{plugin.rb → plugins.rb} +0 -0
- data/lib/engine_assets/extensions/rails/routes.rb +0 -1
- data/spec/lib/engine_assets/extensions/rails/plugins_spec.rb +52 -0
- data/spec/lib/engine_assets/extensions/rails/routes_spec.rb +28 -0
- data/spec/lib/engine_assets/public_locator_spec.rb +27 -0
- data/spec/spec_helper.rb +9 -12
- metadata +10 -3
data/TODO.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.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.3.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-08}
|
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 = [
|
@@ -30,12 +30,16 @@ Gem::Specification.new do |s|
|
|
30
30
|
"config/routes.rb",
|
31
31
|
"engine-assets.gemspec",
|
32
32
|
"lib/engine-assets.rb",
|
33
|
-
"lib/engine_assets/extensions/rails/
|
33
|
+
"lib/engine_assets/extensions/rails/assets.rb",
|
34
|
+
"lib/engine_assets/extensions/rails/plugins.rb",
|
34
35
|
"lib/engine_assets/extensions/rails/routes.rb",
|
35
36
|
"lib/engine_assets/public_locator.rb",
|
36
37
|
"rails/init.rb",
|
37
38
|
"spec/controllers/javascripts_controller_spec.rb",
|
38
39
|
"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
|
+
"spec/lib/engine_assets/public_locator_spec.rb",
|
39
43
|
"spec/routing/javascripts_routing_spec.rb",
|
40
44
|
"spec/routing/stylesheets_routing_spec.rb",
|
41
45
|
"spec/spec.opts",
|
@@ -60,6 +64,9 @@ Gem::Specification.new do |s|
|
|
60
64
|
s.test_files = [
|
61
65
|
"spec/controllers/javascripts_controller_spec.rb",
|
62
66
|
"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
|
+
"spec/lib/engine_assets/public_locator_spec.rb",
|
63
70
|
"spec/routing/javascripts_routing_spec.rb",
|
64
71
|
"spec/routing/stylesheets_routing_spec.rb",
|
65
72
|
"spec/spec_helper.rb",
|
data/lib/engine-assets.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
module EngineAssets ; end
|
2
2
|
|
3
3
|
require 'engine_assets/public_locator'
|
4
|
-
require 'engine_assets/extensions/rails/
|
4
|
+
require 'engine_assets/extensions/rails/assets'
|
5
|
+
require 'engine_assets/extensions/rails/plugins'
|
5
6
|
require 'engine_assets/extensions/rails/routes'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module ActionView::Helpers::AssetTagHelper
|
2
|
+
def expand_javascript_sources(sources, recursive = false)
|
3
|
+
if sources.include?(:all)
|
4
|
+
all_javascript_files = collect_asset_files(JAVASCRIPTS_DIR, ('**' if recursive), '*.js')
|
5
|
+
result = ((determine_source(:defaults, @@javascript_expansions).dup) + all_javascript_files).uniq
|
6
|
+
result
|
7
|
+
else
|
8
|
+
expanded_sources = sources.collect do |source|
|
9
|
+
determine_source(source, @@javascript_expansions)
|
10
|
+
end.flatten
|
11
|
+
expanded_sources << "application" if sources.include?(:defaults) && File.exist?(File.join(JAVASCRIPTS_DIR, "application.js"))
|
12
|
+
expanded_sources
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
File without changes
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require '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
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require '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
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe EngineAssets::PublicLocator do
|
4
|
+
attr_reader :base_path, :find_path, :miss_path
|
5
|
+
|
6
|
+
before do
|
7
|
+
@base_path = File.join(basedir, 'spec', 'support', 'fixtures', 'public')
|
8
|
+
@find_path = '/javascripts/dual.js'
|
9
|
+
@miss_path = '/javascripts/miss.js'
|
10
|
+
|
11
|
+
EngineAssets::PublicLocator.paths << base_path
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "#locate" do
|
15
|
+
context "when the requested sub-path is located" do
|
16
|
+
it "returns the full path to the file" do
|
17
|
+
EngineAssets::PublicLocator.locate(find_path).should == File.join(base_path, find_path)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "when the requested sub-path is not located" do
|
22
|
+
it "returns nil" do
|
23
|
+
EngineAssets::PublicLocator.locate(miss_path).should be_nil
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -3,6 +3,10 @@ RAILS_PATH = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'van
|
|
3
3
|
dir = File.dirname(__FILE__)
|
4
4
|
$LOAD_PATH.unshift(dir)
|
5
5
|
|
6
|
+
def require_files(*segments)
|
7
|
+
Dir[File.expand_path(File.join(*segments))].each { |file| require file }
|
8
|
+
end
|
9
|
+
|
6
10
|
ENV["RAILS_ENV"] = "test"
|
7
11
|
|
8
12
|
require "#{File.join(RAILS_PATH, 'config', 'environment')}"
|
@@ -10,10 +14,8 @@ require 'engine-assets'
|
|
10
14
|
require 'spec'
|
11
15
|
require 'spec/autorun'
|
12
16
|
require 'spec/rails'
|
13
|
-
|
14
|
-
|
15
|
-
require 'support/shared/assets_controller_spec'
|
16
|
-
require 'support/shared/assets_routing_spec'
|
17
|
+
|
18
|
+
require_files(dir, 'support', '**', '*.rb')
|
17
19
|
|
18
20
|
Spec::Runner.configure do |config|
|
19
21
|
include Support::Helpers
|
@@ -23,12 +25,7 @@ Spec::Runner.configure do |config|
|
|
23
25
|
config.use_transactional_fixtures = true
|
24
26
|
config.use_instantiated_fixtures = false
|
25
27
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
# end
|
30
|
-
#
|
31
|
-
# def basepath
|
32
|
-
# @basepath ||= File.join(File.dirname(__FILE__), '..')
|
33
|
-
# end
|
28
|
+
def basedir
|
29
|
+
@basedir ||= "#{File.expand_path(File.join(File.dirname(__FILE__), '..'))}"
|
30
|
+
end
|
34
31
|
end
|
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.3.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-08 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -45,12 +45,16 @@ files:
|
|
45
45
|
- config/routes.rb
|
46
46
|
- engine-assets.gemspec
|
47
47
|
- lib/engine-assets.rb
|
48
|
-
- lib/engine_assets/extensions/rails/
|
48
|
+
- lib/engine_assets/extensions/rails/assets.rb
|
49
|
+
- lib/engine_assets/extensions/rails/plugins.rb
|
49
50
|
- lib/engine_assets/extensions/rails/routes.rb
|
50
51
|
- lib/engine_assets/public_locator.rb
|
51
52
|
- rails/init.rb
|
52
53
|
- spec/controllers/javascripts_controller_spec.rb
|
53
54
|
- 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
|
+
- spec/lib/engine_assets/public_locator_spec.rb
|
54
58
|
- spec/routing/javascripts_routing_spec.rb
|
55
59
|
- spec/routing/stylesheets_routing_spec.rb
|
56
60
|
- spec/spec.opts
|
@@ -97,6 +101,9 @@ summary: Rails Engines with assets.
|
|
97
101
|
test_files:
|
98
102
|
- spec/controllers/javascripts_controller_spec.rb
|
99
103
|
- 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
|
+
- spec/lib/engine_assets/public_locator_spec.rb
|
100
107
|
- spec/routing/javascripts_routing_spec.rb
|
101
108
|
- spec/routing/stylesheets_routing_spec.rb
|
102
109
|
- spec/spec_helper.rb
|