sphere 0.1.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/.gitignore +1 -0
- data/README.markdown +84 -0
- data/Rakefile +26 -0
- data/VERSION +1 -0
- data/lib/sphere.rb +32 -0
- data/lib/sphere/backends/base.rb +44 -0
- data/lib/sphere/backends/closure.rb +29 -0
- data/lib/sphere/backends/yui.rb +28 -0
- data/lib/sphere/config.rb +55 -0
- data/lib/sphere/css_minifier.rb +29 -0
- data/lib/sphere/helper.rb +38 -0
- data/lib/sphere/package/base.rb +87 -0
- data/lib/sphere/package/javascript.rb +17 -0
- data/lib/sphere/package/stylesheet.rb +17 -0
- data/lib/sphere/packager.rb +48 -0
- data/lib/sphere/tasks/commit.rake +22 -0
- data/lib/sphere/tasks/compass.rake +19 -0
- data/lib/sphere/tasks/sphere.rake +31 -0
- data/lib/sphere/tasks/upload.rake +37 -0
- data/rails/init.rb +2 -0
- data/spec/scenario/config/boot.rb +110 -0
- data/spec/scenario/config/database.yml +0 -0
- data/spec/scenario/config/environment.rb +5 -0
- data/spec/scenario/config/sphere.yml +16 -0
- data/spec/scenario/public/javascripts/custom/file_a.js +9 -0
- data/spec/scenario/public/javascripts/custom/file_b.js +8 -0
- data/spec/scenario/public/javascripts/custom/ignore.js +8 -0
- data/spec/scenario/public/javascripts/file.js +8 -0
- data/spec/scenario/public/stylesheets/compiled/custom.css +1 -0
- data/spec/scenario/public/stylesheets/compiled/print.css +40 -0
- data/spec/spec_helper.rb +50 -0
- data/spec/sphere/config_spec.rb +27 -0
- data/spec/sphere/css_minifier_spec.rb +16 -0
- data/spec/sphere/helper_spec.rb +57 -0
- data/spec/sphere/package/base_spec.rb +46 -0
- data/spec/sphere/package/javascript_spec.rb +19 -0
- data/spec/sphere/package/stylesheet_spec.rb +19 -0
- data/spec/sphere/packager_spec.rb +44 -0
- data/spec/sphere_spec.rb +16 -0
- data/sphere.gemspec +90 -0
- metadata +112 -0
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sphere::Config do
|
4
|
+
|
5
|
+
it 'should initialize defaults' do
|
6
|
+
conf = Sphere::Config.new
|
7
|
+
conf.env.should == 'test'
|
8
|
+
conf.compress?.should == false
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should allow to override defaults' do
|
12
|
+
conf = Sphere::Config.new.update! do |c|
|
13
|
+
c.env = 'production'
|
14
|
+
end
|
15
|
+
conf.env.should == 'production'
|
16
|
+
conf.compress?.should == true
|
17
|
+
conf.package?.should == true
|
18
|
+
conf.compress = false
|
19
|
+
conf.compress?.should == false
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should parse config file content' do
|
23
|
+
Sphere::Config.new.send(:definitions).should be_a(Hash)
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sphere::CSSMinifier do
|
4
|
+
|
5
|
+
def css_content
|
6
|
+
File.read File.join(File.dirname(__FILE__), '..', 'scenario', 'public', 'stylesheets', 'compiled', 'print.css')
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should minify CSS" do
|
10
|
+
minifier = Sphere::CSSMinifier.new(css_content)
|
11
|
+
minifier.size.should == 881
|
12
|
+
minifier.minify!
|
13
|
+
minifier.size.should == 279
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sphere::Helper do
|
4
|
+
class SphereDummyHelper < ActionView::Base
|
5
|
+
end
|
6
|
+
|
7
|
+
def helper
|
8
|
+
@helper ||= SphereDummyHelper.new
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should have method to load javascript packages' do
|
12
|
+
helper.should respond_to(:include_javascripts)
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should have method to load stylesheet packages' do
|
16
|
+
helper.should respond_to(:include_stylesheets)
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "in packaging enabled" do
|
20
|
+
before do
|
21
|
+
Sphere.config.update! {|c| c.package = true }
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should package JS' do
|
25
|
+
helper.include_javascripts(:application).should match(/\<script src=.+assets\/application.js.*/)
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should package CSS' do
|
29
|
+
helper.include_stylesheets(:screen).should match(/\<link href=.+assets\/screen.css.*/)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "with packaging disabled" do
|
34
|
+
before do
|
35
|
+
Sphere.config.update! {|c| c.package = false }
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'should package JS' do
|
39
|
+
helper.include_javascripts(:application).scan(/script src=\"([^"]+\.js)/).flatten.should == [
|
40
|
+
"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js",
|
41
|
+
"http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/jquery.ui.core.min.js",
|
42
|
+
"/javascripts/custom/file_a.js",
|
43
|
+
"/javascripts/custom/file_b.js",
|
44
|
+
"/javascripts/file.js"
|
45
|
+
]
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'should package CSS' do
|
49
|
+
helper.include_stylesheets(:screen).scan(/link href=\"([^"]+\.css)/).flatten.should == [
|
50
|
+
"http://www.blueprintcss.org/blueprint/src/typography.css",
|
51
|
+
"/stylesheets/compiled/custom.css", "/stylesheets/compiled/print.css"
|
52
|
+
]
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sphere::Package::Base do
|
4
|
+
|
5
|
+
it 'should have a name' do
|
6
|
+
javascripts['application'].name.should == 'application'
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'should have a target file location' do
|
10
|
+
javascripts['application'].file.should be_a(Pathname)
|
11
|
+
javascripts['application'].file.to_s.should include('/public/assets/application.js')
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should have source locations' do
|
15
|
+
javascripts['application'].should have(5).sources
|
16
|
+
javascripts['application'].sources.should == [
|
17
|
+
"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js",
|
18
|
+
"http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/jquery.ui.core.min.js",
|
19
|
+
"javascripts/custom/file_a.js", "javascripts/custom/file_b.js", "javascripts/file.js"]
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should separate URLs and files' do
|
23
|
+
files = javascripts['application'].source_files.map do |pn|
|
24
|
+
pn.to_s.sub(Sphere.config.root.to_s, '')
|
25
|
+
end
|
26
|
+
files.should == ["/public/javascripts/custom/file_a.js", "/public/javascripts/custom/file_b.js", "/public/javascripts/file.js"]
|
27
|
+
javascripts['application'].source_urls.should == [
|
28
|
+
"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js",
|
29
|
+
"http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/jquery.ui.core.min.js"
|
30
|
+
]
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'should check if package is out-of-date' do
|
34
|
+
javascripts['application'].should be_out_of_date
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'should compile content (without compression)' do
|
38
|
+
javascripts['application'].file.exist?.should be(false)
|
39
|
+
javascripts['application'].compile
|
40
|
+
javascripts['application'].file.exist?.should be(true)
|
41
|
+
javascripts['application'].file.size.should == 489
|
42
|
+
javascripts['application'].should_not be_out_of_date
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sphere::Package::Javascript do
|
4
|
+
|
5
|
+
it 'should have the right extension' do
|
6
|
+
Sphere::Package::Javascript.extension.should == 'js'
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'should compile content (with compression)' do
|
10
|
+
Sphere.config.compress = true
|
11
|
+
javascripts['application'].file.exist?.should be(false)
|
12
|
+
javascripts['application'].compile
|
13
|
+
javascripts['application'].file.exist?.should be(true)
|
14
|
+
javascripts['application'].file.size.should == 279
|
15
|
+
javascripts['application'].should_not be_out_of_date
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sphere::Package::Stylesheet do
|
4
|
+
|
5
|
+
it 'should have the right extension' do
|
6
|
+
Sphere::Package::Stylesheet.extension.should == 'css'
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'should compile content (with compression)' do
|
10
|
+
Sphere.config.compress = true
|
11
|
+
stylesheets['screen'].file.exist?.should be(false)
|
12
|
+
stylesheets['screen'].compile
|
13
|
+
stylesheets['screen'].file.exist?.should be(true)
|
14
|
+
stylesheets['screen'].file.size.should == 322
|
15
|
+
stylesheets['screen'].should_not be_out_of_date
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sphere::Packager do
|
4
|
+
|
5
|
+
it 'should create packages from configuration content' do
|
6
|
+
Sphere::Packager.instance.send(:javascripts).should have(2).items
|
7
|
+
Sphere::Packager.instance.send(:javascripts).values.map(&:name).sort.should == ['application', 'mobile']
|
8
|
+
Sphere::Packager.instance.send(:stylesheets).should have(2).items
|
9
|
+
Sphere::Packager.instance.send(:stylesheets).values.map(&:name).sort.should == ['print', 'screen']
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should check if any of the packages is out of date' do
|
13
|
+
Sphere::Packager.instance.out_of_date?(:js).should be(true)
|
14
|
+
Sphere::Packager.instance.out_of_date?(:css).should be(true)
|
15
|
+
Sphere::Packager.instance.out_of_date?(:all).should be(true)
|
16
|
+
Sphere::Packager.instance.out_of_date?.should be(true)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should package all JS packages' do
|
20
|
+
js_files.should have(2).items
|
21
|
+
js_files.first.exist?.should be(false)
|
22
|
+
js_files.last.exist?.should be(false)
|
23
|
+
Sphere::Packager.instance.compile(:js)
|
24
|
+
js_files.first.exist?.should be(true)
|
25
|
+
js_files.first.size.should == 489
|
26
|
+
js_files.last.exist?.should be(true)
|
27
|
+
js_files.last.size.should == 167
|
28
|
+
Sphere::Packager.instance.out_of_date?(:js).should be(false)
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should package all CSS packages' do
|
32
|
+
css_files.should have(2).items
|
33
|
+
css_files.first.exist?.should be(false)
|
34
|
+
css_files.last.exist?.should be(false)
|
35
|
+
Sphere::Packager.instance.compile(:css)
|
36
|
+
css_files.first.exist?.should be(true)
|
37
|
+
css_files.first.size.should == 933
|
38
|
+
css_files.last.exist?.should be(true)
|
39
|
+
css_files.last.size.should == 22
|
40
|
+
Sphere::Packager.instance.out_of_date?(:css).should be(false)
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
data/spec/sphere_spec.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sphere do
|
4
|
+
it 'should initialize the configuration' do
|
5
|
+
Sphere.config.should be_a(Sphere::Config)
|
6
|
+
Sphere.config.env.should == 'test'
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'should allow to configuration overrides' do
|
10
|
+
Sphere.config.update! do |c|
|
11
|
+
c.env = 'production'
|
12
|
+
end
|
13
|
+
Sphere.config.env.should == 'production'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
data/sphere.gemspec
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{sphere}
|
8
|
+
s.version = "0.1.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Dimitrij Denissenko"]
|
12
|
+
s.date = %q{2010-07-13}
|
13
|
+
s.description = %q{Built (primarily) to be used with Heroku + AWS/S3}
|
14
|
+
s.email = %q{dimitrij@blacksquaremedia.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"README.markdown"
|
17
|
+
]
|
18
|
+
s.files = [
|
19
|
+
".gitignore",
|
20
|
+
"README.markdown",
|
21
|
+
"Rakefile",
|
22
|
+
"VERSION",
|
23
|
+
"lib/sphere.rb",
|
24
|
+
"lib/sphere/backends/base.rb",
|
25
|
+
"lib/sphere/backends/closure.rb",
|
26
|
+
"lib/sphere/backends/yui.rb",
|
27
|
+
"lib/sphere/config.rb",
|
28
|
+
"lib/sphere/css_minifier.rb",
|
29
|
+
"lib/sphere/helper.rb",
|
30
|
+
"lib/sphere/package/base.rb",
|
31
|
+
"lib/sphere/package/javascript.rb",
|
32
|
+
"lib/sphere/package/stylesheet.rb",
|
33
|
+
"lib/sphere/packager.rb",
|
34
|
+
"lib/sphere/tasks/commit.rake",
|
35
|
+
"lib/sphere/tasks/compass.rake",
|
36
|
+
"lib/sphere/tasks/sphere.rake",
|
37
|
+
"lib/sphere/tasks/upload.rake",
|
38
|
+
"rails/init.rb",
|
39
|
+
"spec/scenario/config/boot.rb",
|
40
|
+
"spec/scenario/config/database.yml",
|
41
|
+
"spec/scenario/config/environment.rb",
|
42
|
+
"spec/scenario/config/sphere.yml",
|
43
|
+
"spec/scenario/public/assets/.gitignore",
|
44
|
+
"spec/scenario/public/javascripts/custom/file_a.js",
|
45
|
+
"spec/scenario/public/javascripts/custom/file_b.js",
|
46
|
+
"spec/scenario/public/javascripts/custom/ignore.js",
|
47
|
+
"spec/scenario/public/javascripts/file.js",
|
48
|
+
"spec/scenario/public/stylesheets/compiled/custom.css",
|
49
|
+
"spec/scenario/public/stylesheets/compiled/print.css",
|
50
|
+
"spec/spec_helper.rb",
|
51
|
+
"spec/sphere/config_spec.rb",
|
52
|
+
"spec/sphere/css_minifier_spec.rb",
|
53
|
+
"spec/sphere/helper_spec.rb",
|
54
|
+
"spec/sphere/package/base_spec.rb",
|
55
|
+
"spec/sphere/package/javascript_spec.rb",
|
56
|
+
"spec/sphere/package/stylesheet_spec.rb",
|
57
|
+
"spec/sphere/packager_spec.rb",
|
58
|
+
"spec/sphere_spec.rb",
|
59
|
+
"sphere.gemspec"
|
60
|
+
]
|
61
|
+
s.homepage = %q{http://github.com/dim/sphere}
|
62
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
63
|
+
s.require_paths = ["lib"]
|
64
|
+
s.rubygems_version = %q{1.3.6}
|
65
|
+
s.summary = %q{Asset packer and compressor, for Rails}
|
66
|
+
s.test_files = [
|
67
|
+
"spec/sphere/packager_spec.rb",
|
68
|
+
"spec/sphere/helper_spec.rb",
|
69
|
+
"spec/sphere/package/javascript_spec.rb",
|
70
|
+
"spec/sphere/package/stylesheet_spec.rb",
|
71
|
+
"spec/sphere/package/base_spec.rb",
|
72
|
+
"spec/sphere/config_spec.rb",
|
73
|
+
"spec/sphere/css_minifier_spec.rb",
|
74
|
+
"spec/sphere_spec.rb",
|
75
|
+
"spec/spec_helper.rb",
|
76
|
+
"spec/scenario/config/environment.rb",
|
77
|
+
"spec/scenario/config/boot.rb"
|
78
|
+
]
|
79
|
+
|
80
|
+
if s.respond_to? :specification_version then
|
81
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
82
|
+
s.specification_version = 3
|
83
|
+
|
84
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
85
|
+
else
|
86
|
+
end
|
87
|
+
else
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
metadata
ADDED
@@ -0,0 +1,112 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sphere
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
version: 0.1.0
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Dimitrij Denissenko
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-07-13 00:00:00 +01:00
|
18
|
+
default_executable:
|
19
|
+
dependencies: []
|
20
|
+
|
21
|
+
description: Built (primarily) to be used with Heroku + AWS/S3
|
22
|
+
email: dimitrij@blacksquaremedia.com
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions: []
|
26
|
+
|
27
|
+
extra_rdoc_files:
|
28
|
+
- README.markdown
|
29
|
+
files:
|
30
|
+
- .gitignore
|
31
|
+
- README.markdown
|
32
|
+
- Rakefile
|
33
|
+
- VERSION
|
34
|
+
- lib/sphere.rb
|
35
|
+
- lib/sphere/backends/base.rb
|
36
|
+
- lib/sphere/backends/closure.rb
|
37
|
+
- lib/sphere/backends/yui.rb
|
38
|
+
- lib/sphere/config.rb
|
39
|
+
- lib/sphere/css_minifier.rb
|
40
|
+
- lib/sphere/helper.rb
|
41
|
+
- lib/sphere/package/base.rb
|
42
|
+
- lib/sphere/package/javascript.rb
|
43
|
+
- lib/sphere/package/stylesheet.rb
|
44
|
+
- lib/sphere/packager.rb
|
45
|
+
- lib/sphere/tasks/commit.rake
|
46
|
+
- lib/sphere/tasks/compass.rake
|
47
|
+
- lib/sphere/tasks/sphere.rake
|
48
|
+
- lib/sphere/tasks/upload.rake
|
49
|
+
- rails/init.rb
|
50
|
+
- spec/scenario/config/boot.rb
|
51
|
+
- spec/scenario/config/database.yml
|
52
|
+
- spec/scenario/config/environment.rb
|
53
|
+
- spec/scenario/config/sphere.yml
|
54
|
+
- spec/scenario/public/assets/.gitignore
|
55
|
+
- spec/scenario/public/javascripts/custom/file_a.js
|
56
|
+
- spec/scenario/public/javascripts/custom/file_b.js
|
57
|
+
- spec/scenario/public/javascripts/custom/ignore.js
|
58
|
+
- spec/scenario/public/javascripts/file.js
|
59
|
+
- spec/scenario/public/stylesheets/compiled/custom.css
|
60
|
+
- spec/scenario/public/stylesheets/compiled/print.css
|
61
|
+
- spec/spec_helper.rb
|
62
|
+
- spec/sphere/config_spec.rb
|
63
|
+
- spec/sphere/css_minifier_spec.rb
|
64
|
+
- spec/sphere/helper_spec.rb
|
65
|
+
- spec/sphere/package/base_spec.rb
|
66
|
+
- spec/sphere/package/javascript_spec.rb
|
67
|
+
- spec/sphere/package/stylesheet_spec.rb
|
68
|
+
- spec/sphere/packager_spec.rb
|
69
|
+
- spec/sphere_spec.rb
|
70
|
+
- sphere.gemspec
|
71
|
+
has_rdoc: true
|
72
|
+
homepage: http://github.com/dim/sphere
|
73
|
+
licenses: []
|
74
|
+
|
75
|
+
post_install_message:
|
76
|
+
rdoc_options:
|
77
|
+
- --charset=UTF-8
|
78
|
+
require_paths:
|
79
|
+
- lib
|
80
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
segments:
|
85
|
+
- 0
|
86
|
+
version: "0"
|
87
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
segments:
|
92
|
+
- 0
|
93
|
+
version: "0"
|
94
|
+
requirements: []
|
95
|
+
|
96
|
+
rubyforge_project:
|
97
|
+
rubygems_version: 1.3.6
|
98
|
+
signing_key:
|
99
|
+
specification_version: 3
|
100
|
+
summary: Asset packer and compressor, for Rails
|
101
|
+
test_files:
|
102
|
+
- spec/sphere/packager_spec.rb
|
103
|
+
- spec/sphere/helper_spec.rb
|
104
|
+
- spec/sphere/package/javascript_spec.rb
|
105
|
+
- spec/sphere/package/stylesheet_spec.rb
|
106
|
+
- spec/sphere/package/base_spec.rb
|
107
|
+
- spec/sphere/config_spec.rb
|
108
|
+
- spec/sphere/css_minifier_spec.rb
|
109
|
+
- spec/sphere_spec.rb
|
110
|
+
- spec/spec_helper.rb
|
111
|
+
- spec/scenario/config/environment.rb
|
112
|
+
- spec/scenario/config/boot.rb
|