roger_sassc 0.2.0 → 0.2.1
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.
- 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
|