roger_sassc 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +42 -12
- data/lib/roger_sassc/middleware.rb +5 -3
- data/lib/roger_sassc/version.rb +1 -1
- data/test/fixtures/errors/import.scss +1 -0
- data/test/fixtures/raise.scss +4 -0
- data/test/middleware_test.rb +8 -1
- data/test/processor_test.rb +18 -10
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91b6039cbafc9ee6acdfd7800ee47ddcca4aa10a
|
4
|
+
data.tar.gz: e38dd16bd62dba9768eea6101fcd28b578f8e9f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e14ca200660ad01d1f04e7886f919f65097d651b03ca3660532bf41cfaeb6d66dbb331b68fc1cdc490d1f9874b2d35808b1f5681d9935a11bcda359ef17e455
|
7
|
+
data.tar.gz: 00fdc39be355f740160a9d660fc01e050afd314f4db22ae62ba6f3e0a96d59c7a19bb49ce2f939427fdf4e7f0b5cd1dbbf0abe0acea0e117cf028168e4d657cb
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# RogerSassc
|
2
2
|
|
3
|
-
|
3
|
+
[Sass](http://sass-lang.com/) compilation based on [sassc-ruby](https://github.com/bolandrm/sassc-ruby)
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -14,17 +14,46 @@ And then execute:
|
|
14
14
|
|
15
15
|
$ bundle
|
16
16
|
|
17
|
-
|
17
|
+
## Usage
|
18
18
|
|
19
|
-
|
19
|
+
Add the following lines to your Mockupfile
|
20
20
|
|
21
|
-
|
21
|
+
### Middleware
|
22
|
+
```
|
23
|
+
mockup.serve do |s|
|
24
|
+
s.use(RogerSassc::Middleware)
|
25
|
+
end
|
26
|
+
```
|
27
|
+
|
28
|
+
Several options can be supplied, as can be seen in [middleware.rb](https://github.com/DigitPaint/roger_sassc/blob/master/lib/roger_sassc/middleware.rb#L17-L19)
|
29
|
+
|
30
|
+
### Release
|
31
|
+
```
|
32
|
+
mockup.release do |r|
|
33
|
+
r.use(:sassc)
|
34
|
+
end
|
35
|
+
```
|
22
36
|
|
23
|
-
|
37
|
+
Several options can be supplied, as can be seen in [processor.rb](https://github.com/DigitPaint/roger_sassc/blob/master/lib/roger_sassc/processor.rb#L11-L15)
|
24
38
|
|
25
|
-
|
39
|
+
### Load path
|
40
|
+
When working with files that are hard to reach with a relative path,
|
41
|
+
load_paths can help out to ensure cleanness of otherwise long paths.
|
26
42
|
|
27
|
-
|
43
|
+
```
|
44
|
+
# Mockupfile
|
45
|
+
|
46
|
+
RogerSassc.append_path "plugins"
|
47
|
+
```
|
48
|
+
|
49
|
+
Example:
|
50
|
+
```
|
51
|
+
// Without append_path
|
52
|
+
import '../../../../plugins/my-awesome-plugin/main';
|
53
|
+
|
54
|
+
// Say we add global to the load_path as done above
|
55
|
+
import 'my-awesome-plugin/main';
|
56
|
+
```
|
28
57
|
|
29
58
|
## Notes
|
30
59
|
|
@@ -32,8 +61,9 @@ The wrapper around libsass does not support ruby < 2.0.0.
|
|
32
61
|
|
33
62
|
## Contributing
|
34
63
|
|
35
|
-
1. Fork it
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
64
|
+
1. [Fork it](https://github.com/digitpaint/roger_sassc/fork)
|
65
|
+
1. Create your feature branch (`git checkout -b my-new-feature`)
|
66
|
+
1. Run the tests (`rake`)
|
67
|
+
1. Commit your changes (`git commit -am 'Add some feature'`)
|
68
|
+
1. Push to the branch (`git push origin my-new-feature`)
|
69
|
+
1. Create a new Pull Request
|
@@ -61,9 +61,11 @@ module RogerSassc
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def debug_css(sassc_error)
|
64
|
-
# Replace
|
65
|
-
#
|
66
|
-
|
64
|
+
# Replace
|
65
|
+
# * regular line-ends with css compat strings
|
66
|
+
# via: http://stackoverflow.com/questions/9062988/newline-character-sequence-in-css-content-property
|
67
|
+
# * single quotes with double quotes for escaping
|
68
|
+
sassc_error_css_string = sassc_error.to_s.gsub("\n", "\\A").gsub("'", "\"")
|
67
69
|
|
68
70
|
# Build debug string
|
69
71
|
debug = "/*\n"
|
data/lib/roger_sassc/version.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
@import 'trololo';
|
data/test/middleware_test.rb
CHANGED
@@ -34,13 +34,20 @@ module RogerSassc
|
|
34
34
|
assert_equal @request.get("/test/fixtures/general.css").body, expected_css
|
35
35
|
end
|
36
36
|
|
37
|
-
def
|
37
|
+
def test_debug_syntax_error
|
38
38
|
path = fixture_path "errors/syntax.scss"
|
39
39
|
expected_css = fixture "errors/syntax.css"
|
40
40
|
@middleware.resolver = mock_resolver("test/fixtures/errors/syntax.scss", path)
|
41
41
|
assert_equal expected_css, @request.get("test/fixtures/errors/syntax.css").body
|
42
42
|
end
|
43
43
|
|
44
|
+
def test_debug_import_error
|
45
|
+
path = fixture_path "errors/import.scss"
|
46
|
+
expected_css = '@import "trololo";'
|
47
|
+
@middleware.resolver = mock_resolver("test/fixtures/errors/import.scss", path)
|
48
|
+
assert_include @request.get("test/fixtures/errors/import.css").body, expected_css
|
49
|
+
end
|
50
|
+
|
44
51
|
private
|
45
52
|
|
46
53
|
def mock_resolver(input_url, file_path)
|
data/test/processor_test.rb
CHANGED
@@ -21,12 +21,17 @@ module RogerSassc
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def test_processor_can_be_called
|
24
|
-
|
24
|
+
assert_respond_to(@processor, :call)
|
25
25
|
end
|
26
26
|
|
27
27
|
# Meh :(
|
28
28
|
def test_call_processor
|
29
|
-
|
29
|
+
files = [
|
30
|
+
fixture_path(TEST_OUTPUT + "general.scss"),
|
31
|
+
fixture_path(TEST_OUTPUT + "src/_variables.scss")
|
32
|
+
]
|
33
|
+
|
34
|
+
release = release_mock(files)
|
30
35
|
expected_css = fixture "output.css"
|
31
36
|
@processor.call release
|
32
37
|
|
@@ -42,21 +47,24 @@ module RogerSassc
|
|
42
47
|
end
|
43
48
|
|
44
49
|
def test_processor_raises_on_compilation_errors
|
45
|
-
|
50
|
+
files = [
|
51
|
+
fixture_path(TEST_OUTPUT + "raise.scss")
|
52
|
+
]
|
53
|
+
|
54
|
+
release = release_mock(files)
|
55
|
+
|
56
|
+
assert_raise SassC::SyntaxError do
|
57
|
+
@processor.call release
|
58
|
+
end
|
46
59
|
end
|
47
60
|
|
48
61
|
private
|
49
62
|
|
50
|
-
def
|
51
|
-
files = [
|
52
|
-
fixture_path(TEST_OUTPUT + "general.scss"),
|
53
|
-
fixture_path(TEST_OUTPUT + "src/_variables.scss")
|
54
|
-
]
|
55
|
-
|
63
|
+
def release_mock(files)
|
56
64
|
release = mock(get_files: files,
|
57
65
|
log: ->(_s, _m) {})
|
58
66
|
|
59
|
-
|
67
|
+
release
|
60
68
|
end
|
61
69
|
end
|
62
70
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roger_sassc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Edwin van der Graaf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sassc
|
@@ -142,10 +142,12 @@ files:
|
|
142
142
|
- lib/roger_sassc/processor.rb
|
143
143
|
- lib/roger_sassc/version.rb
|
144
144
|
- roger_sassc.gemspec
|
145
|
+
- test/fixtures/errors/import.scss
|
145
146
|
- test/fixtures/errors/syntax.css
|
146
147
|
- test/fixtures/errors/syntax.scss
|
147
148
|
- test/fixtures/general.scss
|
148
149
|
- test/fixtures/output.css
|
150
|
+
- test/fixtures/raise.scss
|
149
151
|
- test/fixtures/src/_variables.scss
|
150
152
|
- test/helpers/fixture_helper.rb
|
151
153
|
- test/middleware_test.rb
|
@@ -177,10 +179,12 @@ signing_key:
|
|
177
179
|
specification_version: 4
|
178
180
|
summary: Sass plugin for Roger based on libsass
|
179
181
|
test_files:
|
182
|
+
- test/fixtures/errors/import.scss
|
180
183
|
- test/fixtures/errors/syntax.css
|
181
184
|
- test/fixtures/errors/syntax.scss
|
182
185
|
- test/fixtures/general.scss
|
183
186
|
- test/fixtures/output.css
|
187
|
+
- test/fixtures/raise.scss
|
184
188
|
- test/fixtures/src/_variables.scss
|
185
189
|
- test/helpers/fixture_helper.rb
|
186
190
|
- test/middleware_test.rb
|