sprockets-sass 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 +4 -0
- data/Gemfile +2 -0
- data/LICENSE +20 -0
- data/README.md +102 -0
- data/Rakefile +6 -0
- data/lib/sprockets-sass.rb +1 -0
- data/lib/sprockets/sass.rb +13 -0
- data/lib/sprockets/sass/importer.rb +91 -0
- data/lib/sprockets/sass/sass_template.rb +43 -0
- data/lib/sprockets/sass/scss_template.rb +10 -0
- data/lib/sprockets/sass/version.rb +5 -0
- data/spec/spec_helper.rb +11 -0
- data/spec/sprockets-sass_spec.rb +112 -0
- data/sprockets-sass.gemspec +26 -0
- metadata +153 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2011 Peter Browne
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,102 @@
|
|
1
|
+
sprockets-sass
|
2
|
+
==============
|
3
|
+
|
4
|
+
**Better Sass integration with [Sprockets 2.0](http://github.com/sstephenson/sprockets)**
|
5
|
+
|
6
|
+
When using Sprockets 2.0 with Sass you will eventually run into a pretty big issue. `//= require` directives will not allow Sass mixins, variables, etc. to be shared between files. So you'll try to use `@import`, and that'll also blow up in your face. `sprockets-sass` fixes all of this by creating a Sass::Importer that is Sprockets aware.
|
7
|
+
|
8
|
+
_Note: This works in Rails 3.1, thanks to the [sass-rails gem](http://github.com/rails/sass-rails). But if you want to use Sprockets and Sass anywhere else, like Sinatra, use `sprockets-sass`._
|
9
|
+
|
10
|
+
### Features
|
11
|
+
|
12
|
+
* Imports Sass _partials_ (filenames prepended with "_").
|
13
|
+
* Import paths work exactly like `require` directives*.
|
14
|
+
* Imports either Sass syntax, or just regular CSS files.
|
15
|
+
* Imported files are preprocessed by Sprockets, so `.css.scss.erb` files can be imported.
|
16
|
+
Directives from within imported files also work as expected.
|
17
|
+
* Standard Sass load paths are not touched, so Compass extensions will work as expected.
|
18
|
+
|
19
|
+
_* Glob support coming in 0.2.0_
|
20
|
+
|
21
|
+
### TODO
|
22
|
+
|
23
|
+
* Glob support (as mentioned above)
|
24
|
+
* Asset path helpers
|
25
|
+
|
26
|
+
|
27
|
+
Installation
|
28
|
+
------------
|
29
|
+
|
30
|
+
``` bash
|
31
|
+
$ gem install sprockets-sass
|
32
|
+
```
|
33
|
+
|
34
|
+
|
35
|
+
Usage
|
36
|
+
-----
|
37
|
+
|
38
|
+
In your Rack application, setup Sprockets as you normally would, and require "sprockets-sass":
|
39
|
+
|
40
|
+
``` ruby
|
41
|
+
require "sprockets"
|
42
|
+
require "sprockets-sass"
|
43
|
+
require "sass"
|
44
|
+
|
45
|
+
map "/assets" do
|
46
|
+
environment = Sprockets::Environment.new
|
47
|
+
environment.append_path "assets/stylesheets"
|
48
|
+
run environment
|
49
|
+
end
|
50
|
+
|
51
|
+
map "/" do
|
52
|
+
run YourRackApp
|
53
|
+
end
|
54
|
+
```
|
55
|
+
|
56
|
+
Now `@import` works essentially just like a `require` directive, but with one essential bonus:
|
57
|
+
Sass mixins, variables, etc. work as expected.
|
58
|
+
|
59
|
+
Given the following Sass _partials_:
|
60
|
+
|
61
|
+
``` scss
|
62
|
+
// assets/stylesheets/_mixins.scss
|
63
|
+
@mixin border-radius($radius) {
|
64
|
+
-webkit-border-radius: $radius;
|
65
|
+
-moz-border-radius: $radius;
|
66
|
+
border-radius: $radius;
|
67
|
+
}
|
68
|
+
```
|
69
|
+
|
70
|
+
``` scss
|
71
|
+
// assets/stylesheets/_settings.scss
|
72
|
+
$color: red;
|
73
|
+
```
|
74
|
+
|
75
|
+
In another file - you can now do this - from within a Sprockets asset:
|
76
|
+
|
77
|
+
``` scss
|
78
|
+
// assets/stylesheets/application.css.scss
|
79
|
+
@import "mixins";
|
80
|
+
@import "settings";
|
81
|
+
|
82
|
+
button {
|
83
|
+
@include border-radius(5px);
|
84
|
+
color: $color;
|
85
|
+
}
|
86
|
+
```
|
87
|
+
|
88
|
+
And `GET /assets/application.css` would return something like:
|
89
|
+
|
90
|
+
``` css
|
91
|
+
button {
|
92
|
+
-webkit-border-radius: 5px;
|
93
|
+
-moz-border-radius: 5px;
|
94
|
+
border-radius: 5px;
|
95
|
+
color: red; }
|
96
|
+
```
|
97
|
+
|
98
|
+
|
99
|
+
Copyright
|
100
|
+
---------
|
101
|
+
|
102
|
+
Copyright (c) 2011 [Peter Browne](http://petebrowne.com). See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "sprockets/sass"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require "sprockets/sass/version"
|
2
|
+
require "sprockets/sass/sass_template"
|
3
|
+
require "sprockets/sass/scss_template"
|
4
|
+
require "sprockets/engines"
|
5
|
+
|
6
|
+
module Sprockets
|
7
|
+
module Sass
|
8
|
+
autoload :Importer, "sprockets/sass/importer"
|
9
|
+
|
10
|
+
::Sprockets.register_engine ".sass", SassTemplate
|
11
|
+
::Sprockets.register_engine ".scss", ScssTemplate
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
require "sass/importers/base"
|
2
|
+
require "pathname"
|
3
|
+
|
4
|
+
module Sprockets
|
5
|
+
module Sass
|
6
|
+
class Importer < ::Sass::Importers::Base
|
7
|
+
# Reference to the Sprockets context
|
8
|
+
attr_reader :context
|
9
|
+
|
10
|
+
#
|
11
|
+
def initialize(context)
|
12
|
+
@context = context
|
13
|
+
end
|
14
|
+
|
15
|
+
# @see Sass::Importers::Base#find_relative
|
16
|
+
def find_relative(path, base, options)
|
17
|
+
engine_from_path(path, options)
|
18
|
+
end
|
19
|
+
|
20
|
+
# @see Sass::Importers::Base#find
|
21
|
+
def find(path, options)
|
22
|
+
engine_from_path(path, options)
|
23
|
+
end
|
24
|
+
|
25
|
+
# @see Sass::Importers::Base#mtime
|
26
|
+
def mtime(path, options)
|
27
|
+
if pathname = resolve(path)
|
28
|
+
pathname.mtime
|
29
|
+
end
|
30
|
+
rescue Errno::ENOENT
|
31
|
+
nil
|
32
|
+
end
|
33
|
+
|
34
|
+
# @see Sass::Importers::Base#key
|
35
|
+
def key(path, options)
|
36
|
+
path = Pathname.new(path)
|
37
|
+
["#{self.class.name}:#{path.dirname.expand_path}", path.basename]
|
38
|
+
end
|
39
|
+
|
40
|
+
# @see Sass::Importers::Base#to_s
|
41
|
+
def to_s
|
42
|
+
"#{self.class.name}:#{context.pathname}"
|
43
|
+
end
|
44
|
+
|
45
|
+
protected
|
46
|
+
|
47
|
+
# Create a Sass::Engine from the given path.
|
48
|
+
# This is where all the magic happens!
|
49
|
+
def engine_from_path(path, options)
|
50
|
+
pathname = resolve(path) or return nil
|
51
|
+
context.depend_on pathname
|
52
|
+
::Sass::Engine.new evaluate(pathname), options.merge(
|
53
|
+
:filename => pathname.to_s,
|
54
|
+
:syntax => syntax(pathname),
|
55
|
+
:importer => self
|
56
|
+
)
|
57
|
+
end
|
58
|
+
|
59
|
+
# Finds an asset from the given path. This is where
|
60
|
+
# we make Sprockets behave like Sass, and import partial
|
61
|
+
# style paths.
|
62
|
+
def resolve(path)
|
63
|
+
path = Pathname.new(path) unless path.is_a?(Pathname)
|
64
|
+
partial = path.dirname.join("_#{path.basename}")
|
65
|
+
|
66
|
+
resolve_asset(path) || resolve_asset(partial)
|
67
|
+
end
|
68
|
+
|
69
|
+
# Finds the asset using the context from Sprockets.
|
70
|
+
def resolve_asset(path)
|
71
|
+
context.resolve(path, :content_type => :self)
|
72
|
+
rescue ::Sprockets::FileNotFound, ::Sprockets::ContentTypeMismatch
|
73
|
+
nil
|
74
|
+
end
|
75
|
+
|
76
|
+
# Returns the Sass syntax of the given path.
|
77
|
+
def syntax(path)
|
78
|
+
path.to_s.include?(".sass") ? :sass : :scss
|
79
|
+
end
|
80
|
+
|
81
|
+
# Returns the string to be passed to the Sass engine. We use
|
82
|
+
# Sprockets to process the file, but we remove any Sass processors
|
83
|
+
# because we need to let the Sass::Engine handle that.
|
84
|
+
def evaluate(path)
|
85
|
+
processors = context.environment.attributes_for(path).processors.dup
|
86
|
+
processors.delete_if { |processor| processor < Tilt::SassTemplate }
|
87
|
+
context.evaluate path, :processors => processors
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require "tilt"
|
2
|
+
|
3
|
+
module Sprockets
|
4
|
+
module Sass
|
5
|
+
class SassTemplate < Tilt::SassTemplate
|
6
|
+
|
7
|
+
# A reference to the current Sprockets context
|
8
|
+
attr_reader :context
|
9
|
+
|
10
|
+
# Define the expected syntax for the template
|
11
|
+
def syntax
|
12
|
+
:sass
|
13
|
+
end
|
14
|
+
|
15
|
+
def prepare
|
16
|
+
@context = nil
|
17
|
+
@output = nil
|
18
|
+
end
|
19
|
+
|
20
|
+
def evaluate(context, locals, &block)
|
21
|
+
@output ||= begin
|
22
|
+
@context = context
|
23
|
+
::Sass::Engine.new(data, sass_options).render
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def sass_options
|
30
|
+
options.merge(
|
31
|
+
:filename => eval_file,
|
32
|
+
:line => line,
|
33
|
+
:syntax => syntax,
|
34
|
+
:importer => importer
|
35
|
+
)
|
36
|
+
end
|
37
|
+
|
38
|
+
def importer
|
39
|
+
Importer.new context
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require "sprockets"
|
2
|
+
require "sprockets-sass"
|
3
|
+
require "construct"
|
4
|
+
|
5
|
+
# Requires supporting files with custom matchers and macros, etc,
|
6
|
+
# in ./support/ and its subdirectories.
|
7
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
8
|
+
|
9
|
+
RSpec.configure do |config|
|
10
|
+
config.include Construct::Helpers
|
11
|
+
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Sprockets::Sass do
|
4
|
+
before :each do
|
5
|
+
@root = create_construct
|
6
|
+
@assets = @root.directory "assets"
|
7
|
+
@env = Sprockets::Environment.new @root.to_s
|
8
|
+
@env.append_path @assets.to_s
|
9
|
+
end
|
10
|
+
|
11
|
+
after :each do
|
12
|
+
@root.destroy!
|
13
|
+
end
|
14
|
+
|
15
|
+
it "processes scss files normally" do
|
16
|
+
@assets.file "main.css.scss", "//= require dep"
|
17
|
+
@assets.file "dep.css.scss", "body { color: blue; }"
|
18
|
+
asset = @env["main.css.scss"]
|
19
|
+
asset.to_s.should == "body {\n color: blue; }\n"
|
20
|
+
end
|
21
|
+
|
22
|
+
it "processes sass files normally" do
|
23
|
+
@assets.file "main.css.sass", "//= require dep"
|
24
|
+
@assets.file "dep.css.sass", "body\n color: blue"
|
25
|
+
asset = @env["main.css.sass"]
|
26
|
+
asset.to_s.should == "body {\n color: blue; }\n"
|
27
|
+
end
|
28
|
+
|
29
|
+
it "imports standard files" do
|
30
|
+
@assets.file "main.css.scss", %(@import "dep";\nbody { color: $color; })
|
31
|
+
@assets.file "dep.css.scss", "$color: blue;"
|
32
|
+
asset = @env["main.css.scss"]
|
33
|
+
asset.to_s.should == "body {\n color: blue; }\n"
|
34
|
+
end
|
35
|
+
|
36
|
+
it "imports partial style files" do
|
37
|
+
@assets.file "main.css.scss", %(@import "dep";\nbody { color: $color; })
|
38
|
+
@assets.file "_dep.css.scss", "$color: blue;"
|
39
|
+
asset = @env["main.css.scss"]
|
40
|
+
asset.to_s.should == "body {\n color: blue; }\n"
|
41
|
+
end
|
42
|
+
|
43
|
+
it "imports other syntax" do
|
44
|
+
@assets.file "main.css.scss", %(@import "dep";\nbody { color: $color; })
|
45
|
+
@assets.file "dep.css.sass", "$color: blue\nhtml\n height: 100%"
|
46
|
+
asset = @env["main.css.scss"]
|
47
|
+
asset.to_s.should == "html {\n height: 100%; }\n\nbody {\n color: blue; }\n"
|
48
|
+
end
|
49
|
+
|
50
|
+
it "imports files with directives" do
|
51
|
+
@assets.file "main.css.scss", %(@import "dep";)
|
52
|
+
@assets.file "dep.css", "/*\n *= require subdep\n */"
|
53
|
+
@assets.file "subdep.css.scss", "$color: blue;\nbody { color: $color; }"
|
54
|
+
asset = @env["main.css.scss"]
|
55
|
+
asset.to_s.should include("body {\n color: blue; }\n")
|
56
|
+
end
|
57
|
+
|
58
|
+
it "imports files with additional processors" do
|
59
|
+
@assets.file "main.css.scss", %(@import "dep";\nbody { color: $color; })
|
60
|
+
@assets.file "dep.css.scss.erb", "$color: <%= 'blue' %>;"
|
61
|
+
asset = @env["main.css.scss"]
|
62
|
+
asset.to_s.should == "body {\n color: blue; }\n"
|
63
|
+
end
|
64
|
+
|
65
|
+
it "imports relative files" do
|
66
|
+
@assets.file "folder/main.css.scss", %(@import "./dep";\nbody { color: $color; })
|
67
|
+
@assets.file "folder/dep.css.scss", "$color: blue;"
|
68
|
+
asset = @env["folder/main.css.scss"]
|
69
|
+
asset.to_s.should == "body {\n color: blue; }\n"
|
70
|
+
end
|
71
|
+
|
72
|
+
it "imports files relative to root" do
|
73
|
+
@assets.file "folder/main.css.scss", %(@import "dep";\nbody { color: $color; })
|
74
|
+
@assets.file "dep.css.scss", "$color: blue;"
|
75
|
+
asset = @env["folder/main.css.scss"]
|
76
|
+
asset.to_s.should == "body {\n color: blue; }\n"
|
77
|
+
end
|
78
|
+
|
79
|
+
it "imports files from the assets load path" do
|
80
|
+
vendor = @root.directory "vendor"
|
81
|
+
@env.append_path vendor.to_s
|
82
|
+
|
83
|
+
@assets.file "main.css.scss", %(@import "dep";\nbody { color: $color; })
|
84
|
+
vendor.file "dep.css.scss", "$color: blue;"
|
85
|
+
asset = @env["main.css.scss"]
|
86
|
+
asset.to_s.should == "body {\n color: blue; }\n"
|
87
|
+
end
|
88
|
+
|
89
|
+
it "imports files from the Sass load path" do
|
90
|
+
vendor = @root.directory "vendor"
|
91
|
+
Sass::Engine::DEFAULT_OPTIONS[:load_paths] << vendor.to_s
|
92
|
+
|
93
|
+
@assets.file "main.css.scss", %(@import "dep";\nbody { color: $color; })
|
94
|
+
vendor.file "dep.scss", "$color: blue;"
|
95
|
+
asset = @env["main.css.scss"]
|
96
|
+
asset.to_s.should == "body {\n color: blue; }\n"
|
97
|
+
end
|
98
|
+
|
99
|
+
it "adds dependency when imported" do
|
100
|
+
@assets.file "main.css.scss", %(@import "dep";\nbody { color: $color; })
|
101
|
+
dep = @assets.file "dep.css.scss", "$color: blue;"
|
102
|
+
|
103
|
+
asset = @env["main.css.scss"]
|
104
|
+
asset.should be_fresh
|
105
|
+
|
106
|
+
mtime = Time.now + 1
|
107
|
+
dep.open("w") { |f| f.write "$color: red;" }
|
108
|
+
dep.utime mtime, mtime
|
109
|
+
|
110
|
+
asset.should be_stale
|
111
|
+
end
|
112
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "sprockets/sass/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "sprockets-sass"
|
7
|
+
s.version = Sprockets::Sass::VERSION
|
8
|
+
s.authors = ["Pete Browne"]
|
9
|
+
s.email = ["me@petebrowne.com"]
|
10
|
+
s.homepage = "http://github.com/petebrowne/sprockets-sass"
|
11
|
+
s.summary = %q{Better Sass integration with Sprockets 2.0}
|
12
|
+
s.description = %q{When using Sprockets 2.0 with Sass you will eventually run into a pretty big issue. `//= require` directives will not allow Sass mixins, variables, etc. to be shared between files. So you'll try to use `@import`, and that'll also blow up in your face. `sprockets-sass` fixes all of this by creating a Sass::Importer that is Sprockets aware.}
|
13
|
+
|
14
|
+
s.rubyforge_project = "sprockets-sass"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
s.add_dependency "sprockets", "~> 2.0"
|
22
|
+
s.add_development_dependency "rake"
|
23
|
+
s.add_development_dependency "rspec", "~> 2.6"
|
24
|
+
s.add_development_dependency "test-construct", "~> 1.2"
|
25
|
+
s.add_development_dependency "sass", "~> 3.1"
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,153 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sprockets-sass
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 0
|
10
|
+
version: 0.1.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Pete Browne
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-09-21 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
22
|
+
none: false
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
hash: 3
|
27
|
+
segments:
|
28
|
+
- 2
|
29
|
+
- 0
|
30
|
+
version: "2.0"
|
31
|
+
requirement: *id001
|
32
|
+
name: sprockets
|
33
|
+
prerelease: false
|
34
|
+
type: :runtime
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
hash: 3
|
42
|
+
segments:
|
43
|
+
- 0
|
44
|
+
version: "0"
|
45
|
+
requirement: *id002
|
46
|
+
name: rake
|
47
|
+
prerelease: false
|
48
|
+
type: :development
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
hash: 15
|
56
|
+
segments:
|
57
|
+
- 2
|
58
|
+
- 6
|
59
|
+
version: "2.6"
|
60
|
+
requirement: *id003
|
61
|
+
name: rspec
|
62
|
+
prerelease: false
|
63
|
+
type: :development
|
64
|
+
- !ruby/object:Gem::Dependency
|
65
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
hash: 11
|
71
|
+
segments:
|
72
|
+
- 1
|
73
|
+
- 2
|
74
|
+
version: "1.2"
|
75
|
+
requirement: *id004
|
76
|
+
name: test-construct
|
77
|
+
prerelease: false
|
78
|
+
type: :development
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
hash: 5
|
86
|
+
segments:
|
87
|
+
- 3
|
88
|
+
- 1
|
89
|
+
version: "3.1"
|
90
|
+
requirement: *id005
|
91
|
+
name: sass
|
92
|
+
prerelease: false
|
93
|
+
type: :development
|
94
|
+
description: When using Sprockets 2.0 with Sass you will eventually run into a pretty big issue. `//= require` directives will not allow Sass mixins, variables, etc. to be shared between files. So you'll try to use `@import`, and that'll also blow up in your face. `sprockets-sass` fixes all of this by creating a Sass::Importer that is Sprockets aware.
|
95
|
+
email:
|
96
|
+
- me@petebrowne.com
|
97
|
+
executables: []
|
98
|
+
|
99
|
+
extensions: []
|
100
|
+
|
101
|
+
extra_rdoc_files: []
|
102
|
+
|
103
|
+
files:
|
104
|
+
- .gitignore
|
105
|
+
- Gemfile
|
106
|
+
- LICENSE
|
107
|
+
- README.md
|
108
|
+
- Rakefile
|
109
|
+
- lib/sprockets-sass.rb
|
110
|
+
- lib/sprockets/sass.rb
|
111
|
+
- lib/sprockets/sass/importer.rb
|
112
|
+
- lib/sprockets/sass/sass_template.rb
|
113
|
+
- lib/sprockets/sass/scss_template.rb
|
114
|
+
- lib/sprockets/sass/version.rb
|
115
|
+
- spec/spec_helper.rb
|
116
|
+
- spec/sprockets-sass_spec.rb
|
117
|
+
- sprockets-sass.gemspec
|
118
|
+
homepage: http://github.com/petebrowne/sprockets-sass
|
119
|
+
licenses: []
|
120
|
+
|
121
|
+
post_install_message:
|
122
|
+
rdoc_options: []
|
123
|
+
|
124
|
+
require_paths:
|
125
|
+
- lib
|
126
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
hash: 3
|
132
|
+
segments:
|
133
|
+
- 0
|
134
|
+
version: "0"
|
135
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
|
+
none: false
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
hash: 3
|
141
|
+
segments:
|
142
|
+
- 0
|
143
|
+
version: "0"
|
144
|
+
requirements: []
|
145
|
+
|
146
|
+
rubyforge_project: sprockets-sass
|
147
|
+
rubygems_version: 1.8.5
|
148
|
+
signing_key:
|
149
|
+
specification_version: 3
|
150
|
+
summary: Better Sass integration with Sprockets 2.0
|
151
|
+
test_files:
|
152
|
+
- spec/spec_helper.rb
|
153
|
+
- spec/sprockets-sass_spec.rb
|