sassc 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.gitmodules +3 -0
  4. data/.travis.yml +9 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +24 -0
  8. data/Rakefile +21 -0
  9. data/ext/libsass/.editorconfig +15 -0
  10. data/ext/libsass/.gitattributes +2 -0
  11. data/ext/libsass/.gitignore +61 -0
  12. data/ext/libsass/.travis.yml +38 -0
  13. data/ext/libsass/COPYING +25 -0
  14. data/ext/libsass/INSTALL +1 -0
  15. data/ext/libsass/LICENSE +25 -0
  16. data/ext/libsass/Makefile +223 -0
  17. data/ext/libsass/Makefile.am +145 -0
  18. data/ext/libsass/Readme.md +93 -0
  19. data/ext/libsass/appveyor.yml +76 -0
  20. data/ext/libsass/ast.cpp +581 -0
  21. data/ext/libsass/ast.hpp +1949 -0
  22. data/ext/libsass/ast_def_macros.hpp +16 -0
  23. data/ext/libsass/ast_factory.hpp +87 -0
  24. data/ext/libsass/ast_fwd_decl.hpp +72 -0
  25. data/ext/libsass/b64/cencode.h +32 -0
  26. data/ext/libsass/b64/encode.h +77 -0
  27. data/ext/libsass/backtrace.hpp +81 -0
  28. data/ext/libsass/base64vlq.cpp +43 -0
  29. data/ext/libsass/base64vlq.hpp +28 -0
  30. data/ext/libsass/bind.cpp +187 -0
  31. data/ext/libsass/bind.hpp +18 -0
  32. data/ext/libsass/cencode.c +102 -0
  33. data/ext/libsass/color_names.hpp +324 -0
  34. data/ext/libsass/configure.ac +130 -0
  35. data/ext/libsass/constants.cpp +144 -0
  36. data/ext/libsass/constants.hpp +145 -0
  37. data/ext/libsass/context.cpp +507 -0
  38. data/ext/libsass/context.hpp +150 -0
  39. data/ext/libsass/contextualize.cpp +157 -0
  40. data/ext/libsass/contextualize.hpp +65 -0
  41. data/ext/libsass/copy_c_str.cpp +13 -0
  42. data/ext/libsass/copy_c_str.hpp +5 -0
  43. data/ext/libsass/debug.hpp +39 -0
  44. data/ext/libsass/environment.hpp +75 -0
  45. data/ext/libsass/error_handling.cpp +28 -0
  46. data/ext/libsass/error_handling.hpp +28 -0
  47. data/ext/libsass/eval.cpp +1149 -0
  48. data/ext/libsass/eval.hpp +80 -0
  49. data/ext/libsass/expand.cpp +430 -0
  50. data/ext/libsass/expand.hpp +77 -0
  51. data/ext/libsass/extconf.rb +6 -0
  52. data/ext/libsass/extend.cpp +1962 -0
  53. data/ext/libsass/extend.hpp +50 -0
  54. data/ext/libsass/file.cpp +291 -0
  55. data/ext/libsass/file.hpp +18 -0
  56. data/ext/libsass/functions.cpp +1565 -0
  57. data/ext/libsass/functions.hpp +187 -0
  58. data/ext/libsass/inspect.cpp +727 -0
  59. data/ext/libsass/inspect.hpp +108 -0
  60. data/ext/libsass/json.cpp +1411 -0
  61. data/ext/libsass/json.hpp +117 -0
  62. data/ext/libsass/kwd_arg_macros.hpp +23 -0
  63. data/ext/libsass/m4/.gitkeep +0 -0
  64. data/ext/libsass/mapping.hpp +17 -0
  65. data/ext/libsass/memory_manager.hpp +54 -0
  66. data/ext/libsass/node.cpp +251 -0
  67. data/ext/libsass/node.hpp +122 -0
  68. data/ext/libsass/operation.hpp +153 -0
  69. data/ext/libsass/output_compressed.cpp +401 -0
  70. data/ext/libsass/output_compressed.hpp +95 -0
  71. data/ext/libsass/output_nested.cpp +364 -0
  72. data/ext/libsass/output_nested.hpp +108 -0
  73. data/ext/libsass/parser.cpp +2016 -0
  74. data/ext/libsass/parser.hpp +264 -0
  75. data/ext/libsass/paths.hpp +69 -0
  76. data/ext/libsass/position.hpp +22 -0
  77. data/ext/libsass/posix/getopt.c +562 -0
  78. data/ext/libsass/posix/getopt.h +95 -0
  79. data/ext/libsass/prelexer.cpp +688 -0
  80. data/ext/libsass/prelexer.hpp +513 -0
  81. data/ext/libsass/remove_placeholders.cpp +59 -0
  82. data/ext/libsass/remove_placeholders.hpp +43 -0
  83. data/ext/libsass/res/resource.rc +35 -0
  84. data/ext/libsass/sass.cpp +33 -0
  85. data/ext/libsass/sass.h +60 -0
  86. data/ext/libsass/sass2scss.cpp +834 -0
  87. data/ext/libsass/sass2scss.h +110 -0
  88. data/ext/libsass/sass_context.cpp +709 -0
  89. data/ext/libsass/sass_context.h +120 -0
  90. data/ext/libsass/sass_functions.cpp +137 -0
  91. data/ext/libsass/sass_functions.h +90 -0
  92. data/ext/libsass/sass_interface.cpp +277 -0
  93. data/ext/libsass/sass_interface.h +97 -0
  94. data/ext/libsass/sass_util.cpp +136 -0
  95. data/ext/libsass/sass_util.hpp +259 -0
  96. data/ext/libsass/sass_values.cpp +337 -0
  97. data/ext/libsass/sass_values.h +124 -0
  98. data/ext/libsass/script/bootstrap +10 -0
  99. data/ext/libsass/script/branding +10 -0
  100. data/ext/libsass/script/ci-build-libsass +72 -0
  101. data/ext/libsass/script/ci-install-compiler +4 -0
  102. data/ext/libsass/script/ci-install-deps +19 -0
  103. data/ext/libsass/script/ci-report-coverage +25 -0
  104. data/ext/libsass/script/coveralls-debug +32 -0
  105. data/ext/libsass/script/spec +5 -0
  106. data/ext/libsass/script/tap-driver +652 -0
  107. data/ext/libsass/script/tap-runner +1 -0
  108. data/ext/libsass/source_map.cpp +133 -0
  109. data/ext/libsass/source_map.hpp +46 -0
  110. data/ext/libsass/subset_map.hpp +145 -0
  111. data/ext/libsass/support/libsass.pc.in +11 -0
  112. data/ext/libsass/test-driver +127 -0
  113. data/ext/libsass/test/test_node.cpp +98 -0
  114. data/ext/libsass/test/test_paths.cpp +29 -0
  115. data/ext/libsass/test/test_selector_difference.cpp +28 -0
  116. data/ext/libsass/test/test_specificity.cpp +28 -0
  117. data/ext/libsass/test/test_subset_map.cpp +472 -0
  118. data/ext/libsass/test/test_superselector.cpp +71 -0
  119. data/ext/libsass/test/test_unification.cpp +33 -0
  120. data/ext/libsass/to_c.cpp +61 -0
  121. data/ext/libsass/to_c.hpp +44 -0
  122. data/ext/libsass/to_string.cpp +29 -0
  123. data/ext/libsass/to_string.hpp +32 -0
  124. data/ext/libsass/token.hpp +32 -0
  125. data/ext/libsass/units.cpp +54 -0
  126. data/ext/libsass/units.hpp +10 -0
  127. data/ext/libsass/utf8.h +34 -0
  128. data/ext/libsass/utf8/checked.h +327 -0
  129. data/ext/libsass/utf8/core.h +329 -0
  130. data/ext/libsass/utf8/unchecked.h +228 -0
  131. data/ext/libsass/utf8_string.cpp +102 -0
  132. data/ext/libsass/utf8_string.hpp +36 -0
  133. data/ext/libsass/util.cpp +189 -0
  134. data/ext/libsass/util.hpp +26 -0
  135. data/ext/libsass/win/libsass.filters +291 -0
  136. data/ext/libsass/win/libsass.sln +28 -0
  137. data/ext/libsass/win/libsass.vcxproj +255 -0
  138. data/lib/sassc.rb +6 -0
  139. data/lib/sassc/engine.rb +13 -0
  140. data/lib/sassc/native.rb +44 -0
  141. data/lib/sassc/native/native_context_api.rb +140 -0
  142. data/lib/sassc/native/native_functions_api.rb +41 -0
  143. data/lib/sassc/native/sass_input_style.rb +11 -0
  144. data/lib/sassc/native/sass_output_style.rb +10 -0
  145. data/lib/sassc/native/sass_value.rb +95 -0
  146. data/lib/sassc/native/string_list.rb +8 -0
  147. data/lib/sassc/version.rb +3 -0
  148. data/sassc.gemspec +43 -0
  149. data/test/smoke_test.rb +171 -0
  150. data/test/test_helper.rb +4 -0
  151. metadata +281 -0
@@ -0,0 +1,41 @@
1
+ module SassC
2
+ module Native
3
+ # Creators for sass function list and function descriptors
4
+ # ADDAPI Sass_C_Function_List ADDCALL sass_make_function_list (size_t length);
5
+ # ADDAPI Sass_C_Function_Callback ADDCALL sass_make_function (const char* signature, Sass_C_Function fn, void* cookie);
6
+ attach_function :sass_make_function_list, [:size_t], :sass_c_function_list_ptr
7
+ attach_function :sass_make_function, [:string, :sass_c_function, :pointer], :sass_c_function_callback_ptr
8
+
9
+ # Setters and getters for callbacks on function lists
10
+ # ADDAPI Sass_C_Function_Callback ADDCALL sass_function_get_list_entry(Sass_C_Function_List list, size_t pos);
11
+ # ADDAPI void ADDCALL sass_function_set_list_entry(Sass_C_Function_List list, size_t pos, Sass_C_Function_Callback cb);
12
+ attach_function :sass_function_get_list_entry, [:sass_c_function_list_ptr, :size_t], :sass_c_function_callback_ptr
13
+ attach_function :sass_function_set_list_entry, [:sass_c_function_list_ptr, :size_t, :sass_c_function_callback_ptr], :void
14
+
15
+ # ADDAPI union Sass_Value* ADDCALL sass_make_number (double val, const char* unit);
16
+ attach_function :sass_make_number, [:double, :string], :sass_value_ptr
17
+ attach_function :sass_make_string, [:string], :sass_value_ptr
18
+
19
+
20
+ # ADDAPI enum Sass_Tag ADDCALL sass_value_get_tag (const union Sass_Value* v);
21
+ attach_function :sass_value_get_tag, [:sass_value_ptr], SassTag
22
+
23
+ # ADDAPI const char* ADDCALL sass_string_get_value (const union Sass_Value* v);
24
+ attach_function :sass_string_get_value, [:sass_value_ptr], :string
25
+
26
+
27
+ # Getters for custom function descriptors
28
+ # ADDAPI const char* ADDCALL sass_function_get_signature (Sass_C_Function_Callback fn);
29
+ # ADDAPI Sass_C_Function ADDCALL sass_function_get_function (Sass_C_Function_Callback fn);
30
+ # ADDAPI void* ADDCALL sass_function_get_cookie (Sass_C_Function_Callback fn);
31
+ attach_function :sass_function_get_signature, [:sass_c_function_callback_ptr], :string
32
+ attach_function :sass_function_get_function, [:sass_c_function_callback_ptr], :sass_c_function
33
+ attach_function :sass_function_get_cookie, [:sass_c_function_callback_ptr], :pointer
34
+
35
+
36
+ #callback :sass_c_function, [SassValue.ptr, :pointer], SassValue.ptr
37
+ Callback = FFI::Function.new(:pointer, [:pointer, :pointer]) do |s_args, cookie|
38
+ SassC::Native.make_number(43, "px")
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,11 @@
1
+ module SassC
2
+ module Native
3
+ SassInputStyle = enum(
4
+ :sass_context_null,
5
+ :sass_context_file,
6
+ :sass_context_data,
7
+ :sass_context_folder
8
+ )
9
+ end
10
+ end
11
+
@@ -0,0 +1,10 @@
1
+ module SassC
2
+ module Native
3
+ SassOutputStyle = enum(
4
+ :sass_style_nested,
5
+ :sass_style_expanded,
6
+ :sass_style_compact,
7
+ :sass_style_compressed
8
+ )
9
+ end
10
+ end
@@ -0,0 +1,95 @@
1
+ module SassC
2
+ module Native
3
+ class SassValue < FFI::Union; end
4
+
5
+ SassTag = enum(
6
+ :sass_boolean,
7
+ :sass_number,
8
+ :sass_color,
9
+ :sass_string,
10
+ :sass_list,
11
+ :sass_map,
12
+ :sass_null,
13
+ :sass_error,
14
+ :sass_warning
15
+ )
16
+
17
+ SassSeparator = enum(
18
+ :sass_comma,
19
+ :sass_space
20
+ )
21
+
22
+ class SassUnknown < FFI::Struct
23
+ layout :tag, SassTag
24
+ end
25
+
26
+ class SassBoolean < FFI::Struct
27
+ layout :tag, SassTag,
28
+ :value, :bool
29
+ end
30
+
31
+ class SassNumber < FFI::Struct
32
+ layout :tag, SassTag,
33
+ :value, :double,
34
+ :unit, :string
35
+ end
36
+
37
+ class SassColor < FFI::Struct
38
+ layout :tag, SassTag,
39
+ :r, :double,
40
+ :g, :double,
41
+ :b, :double,
42
+ :a, :double
43
+ end
44
+
45
+ class SassString < FFI::Struct
46
+ layout :tag, SassTag,
47
+ :value, :string
48
+ end
49
+
50
+ class SassList < FFI::Struct
51
+ layout :tag, SassTag,
52
+ :separator, SassSeparator,
53
+ :length, :size_t,
54
+ :values, :pointer
55
+ end
56
+
57
+ class SassMapPair < FFI::Struct
58
+ layout :key, SassValue.ptr,
59
+ :value, SassValue.ptr
60
+ end
61
+
62
+ class SassMap < FFI::Struct
63
+ layout :tag, SassTag,
64
+ :length, :size_t,
65
+ :pairs, SassMapPair.ptr
66
+ end
67
+
68
+ class SassNull < FFI::Struct
69
+ layout :tag, SassTag
70
+ end
71
+
72
+ class SassError < FFI::Struct
73
+ layout :tag, SassTag,
74
+ :messsage, :string
75
+ end
76
+
77
+ class SassWarning < FFI::Struct
78
+ layout :tag, SassTag,
79
+ :messsage, :string
80
+ end
81
+
82
+ class SassValue # < FFI::Union
83
+ layout :unknown, SassUnknown,
84
+ :boolean, SassBoolean,
85
+ :number, SassNumber,
86
+ :color, SassColor,
87
+ :string, SassString,
88
+ :list, SassList,
89
+ :map, SassMap,
90
+ :null, SassNull,
91
+ :error, SassError,
92
+ :warning, SassWarning
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,8 @@
1
+ module SassC
2
+ module Native
3
+ class StringList < FFI::Struct
4
+ layout :string_list, StringList.ptr,
5
+ :string, :string
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,3 @@
1
+ module SassC
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,43 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'sassc/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "sassc"
8
+ spec.version = SassC::VERSION
9
+ spec.authors = ["Ryan Boland"]
10
+ spec.email = ["bolandryanm@gmail.com"]
11
+ spec.summary = "Use Libsass with Ruby!"
12
+ spec.description = "Use Libsass with Ruby!"
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib", "ext"]
20
+
21
+ spec.extensions = ["Rakefile"]
22
+
23
+ spec.add_development_dependency "bundler"
24
+ spec.add_development_dependency "rake"
25
+ spec.add_development_dependency "minitest", "~> 5.5.1"
26
+ spec.add_development_dependency "minitest-around"
27
+ spec.add_development_dependency "test_construct"
28
+
29
+ spec.add_dependency "ffi", "~> 1.9.6"
30
+
31
+ gem_dir = File.expand_path(File.dirname(__FILE__)) + "/"
32
+ `git submodule --quiet foreach pwd`.split($\).each do |submodule_path|
33
+ Dir.chdir(submodule_path) do
34
+ submodule_relative_path = submodule_path.sub gem_dir, ""
35
+ # issue git ls-files in submodule's directory and
36
+ # prepend the submodule path to create absolute file paths
37
+ `git ls-files`.split($\).each do |filename|
38
+ spec.files << "#{submodule_relative_path}/#{filename}"
39
+ end
40
+ end
41
+ end
42
+ end
43
+
@@ -0,0 +1,171 @@
1
+ require_relative "test_helper"
2
+ require "sassc"
3
+
4
+ module SmokeTest
5
+ SAMPLE_SASS_STRING = "$size: 30px; .hi { width: $size; }"
6
+ SAMPLE_CSS_OUTPUT = ".hi {\n width: 30px; }\n"
7
+ BAD_SASS_STRING = "$size = 30px;"
8
+
9
+ class General < MiniTest::Test
10
+ def test_it_reports_the_libsass_version
11
+ assert_equal "3.1.0", SassC::Native.version
12
+ end
13
+ end
14
+
15
+ class DataContext < MiniTest::Test
16
+ def teardown
17
+ SassC::Native.delete_data_context(@data_context)
18
+ end
19
+
20
+ def test_compile_status_is_zero_when_successful
21
+ @data_context = SassC::Native.make_data_context(SAMPLE_SASS_STRING)
22
+ context = SassC::Native.data_context_get_context(@data_context)
23
+
24
+ status = SassC::Native.compile_data_context(@data_context)
25
+ assert_equal 0, status
26
+
27
+ status = SassC::Native.context_get_error_status(context)
28
+ assert_equal 0, status
29
+ end
30
+
31
+ def test_compiled_css_is_correct
32
+ @data_context = SassC::Native.make_data_context(SAMPLE_SASS_STRING)
33
+ context = SassC::Native.data_context_get_context(@data_context)
34
+ SassC::Native.compile_data_context(@data_context)
35
+
36
+ css = SassC::Native.context_get_output_string(context)
37
+ assert_equal SAMPLE_CSS_OUTPUT, css
38
+ end
39
+
40
+ def test_compile_status_is_one_if_failed
41
+ @data_context = SassC::Native.make_data_context(BAD_SASS_STRING)
42
+ context = SassC::Native.data_context_get_context(@data_context)
43
+
44
+ status = SassC::Native.compile_data_context(@data_context)
45
+ refute_equal 0, status
46
+
47
+ status = SassC::Native.context_get_error_status(context)
48
+ refute_equal 0, status
49
+ end
50
+
51
+ def test_failed_compile_gives_error_message
52
+ end
53
+
54
+ def test_custom_function
55
+ data_context = SassC::Native.make_data_context("foo { margin: foo(); }")
56
+ context = SassC::Native.data_context_get_context(data_context)
57
+ options = SassC::Native.context_get_options(context)
58
+
59
+ random_thing = FFI::MemoryPointer.from_string("hi")
60
+
61
+ callback = SassC::Native.make_function(
62
+ "foo()",
63
+ SassC::Native::Callback,
64
+ random_thing
65
+ )
66
+
67
+ list = SassC::Native.make_function_list(1)
68
+ SassC::Native::function_set_list_entry(list, 0, callback);
69
+ SassC::Native::option_set_c_functions(options, list)
70
+
71
+ assert_equal SassC::Native.option_get_c_functions(options), list
72
+
73
+ first_list_entry = SassC::Native.function_get_list_entry(list, 0)
74
+ assert_equal SassC::Native.function_get_function(first_list_entry),
75
+ SassC::Native::Callback
76
+ assert_equal SassC::Native.function_get_signature(first_list_entry),
77
+ "foo()"
78
+ assert_equal SassC::Native.function_get_cookie(first_list_entry),
79
+ random_thing
80
+
81
+ #string = SassC::Native.make_string("hello")
82
+ string = SassC::Native.make_string("hello")
83
+ assert_equal :sass_string, SassC::Native.value_get_tag(string)
84
+ assert_equal "hello", SassC::Native.string_get_value(string)
85
+
86
+ SassC::Native.compile_data_context(data_context)
87
+
88
+ css = SassC::Native.context_get_output_string(context)
89
+ assert_equal "foo {\n margin: 43px; }\n", css
90
+ end
91
+ end
92
+
93
+ class FileContext < MiniTest::Test
94
+ include TestConstruct::Helpers
95
+
96
+ def around
97
+ within_construct do |construct|
98
+ @construct = construct
99
+ yield
100
+ end
101
+
102
+ @construct = nil
103
+ end
104
+
105
+ def teardown
106
+ SassC::Native.delete_file_context(@file_context)
107
+ end
108
+
109
+ def test_compile_status_is_zero_when_successful
110
+ @construct.file("style.scss", SAMPLE_SASS_STRING)
111
+
112
+ @file_context = SassC::Native.make_file_context("style.scss")
113
+ context = SassC::Native.file_context_get_context(@file_context)
114
+
115
+ status = SassC::Native.compile_file_context(@file_context)
116
+ assert_equal 0, status
117
+
118
+ status = SassC::Native.context_get_error_status(context)
119
+ assert_equal 0, status
120
+ end
121
+
122
+ def test_compiled_css_is_correct
123
+ @construct.file("style.scss", SAMPLE_SASS_STRING)
124
+
125
+ @file_context = SassC::Native.make_file_context("style.scss")
126
+ context = SassC::Native.file_context_get_context(@file_context)
127
+ SassC::Native.compile_file_context(@file_context)
128
+
129
+ css = SassC::Native.context_get_output_string(context)
130
+ assert_equal SAMPLE_CSS_OUTPUT, css
131
+ end
132
+
133
+ def test_invalid_file_name
134
+ @construct.file("style.scss", SAMPLE_SASS_STRING)
135
+
136
+ @file_context = SassC::Native.make_file_context("style.jajaja")
137
+ context = SassC::Native.file_context_get_context(@file_context)
138
+ status = SassC::Native.compile_file_context(@file_context)
139
+
140
+ refute_equal 0, status
141
+
142
+ error = SassC::Native.context_get_error_message(context)
143
+
144
+ assert_match "Error: File to read not found or unreadable: style.jajaja",
145
+ error
146
+ end
147
+
148
+ def test_file_import
149
+ @construct.file("not_included.scss", "$size: 30px;")
150
+ @construct.file("import_parent.scss", "$size: 30px;")
151
+ @construct.file("import.scss", "@import 'import_parent'; $size: 30px;")
152
+ @construct.file("styles.scss", "@import 'import.scss'; .hi { width: $size; }")
153
+
154
+ @file_context = SassC::Native.make_file_context("styles.scss")
155
+ context = SassC::Native.file_context_get_context(@file_context)
156
+ status = SassC::Native.compile_file_context(@file_context)
157
+
158
+ assert_equal 0, status
159
+
160
+ css = SassC::Native.context_get_output_string(context)
161
+ assert_equal SAMPLE_CSS_OUTPUT, css
162
+
163
+ included_files = SassC::Native.context_get_included_files(context)
164
+ included_files.sort!
165
+
166
+ assert_match /import.scss/, included_files[0]
167
+ assert_match /import_parent.scss/, included_files[1]
168
+ assert_match /styles.scss/, included_files[2]
169
+ end
170
+ end
171
+ end
@@ -0,0 +1,4 @@
1
+ require "minitest/autorun"
2
+ require "minitest/pride"
3
+ require "minitest/around/unit"
4
+ require "test_construct"
metadata ADDED
@@ -0,0 +1,281 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sassc
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Ryan Boland
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 5.5.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 5.5.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest-around
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: test_construct
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: ffi
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.9.6
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.9.6
97
+ description: Use Libsass with Ruby!
98
+ email:
99
+ - bolandryanm@gmail.com
100
+ executables: []
101
+ extensions:
102
+ - Rakefile
103
+ extra_rdoc_files: []
104
+ files:
105
+ - ".gitignore"
106
+ - ".gitmodules"
107
+ - ".travis.yml"
108
+ - Gemfile
109
+ - LICENSE.txt
110
+ - README.md
111
+ - Rakefile
112
+ - ext/libsass/.editorconfig
113
+ - ext/libsass/.gitattributes
114
+ - ext/libsass/.gitignore
115
+ - ext/libsass/.travis.yml
116
+ - ext/libsass/COPYING
117
+ - ext/libsass/INSTALL
118
+ - ext/libsass/LICENSE
119
+ - ext/libsass/Makefile
120
+ - ext/libsass/Makefile.am
121
+ - ext/libsass/Readme.md
122
+ - ext/libsass/appveyor.yml
123
+ - ext/libsass/ast.cpp
124
+ - ext/libsass/ast.hpp
125
+ - ext/libsass/ast_def_macros.hpp
126
+ - ext/libsass/ast_factory.hpp
127
+ - ext/libsass/ast_fwd_decl.hpp
128
+ - ext/libsass/b64/cencode.h
129
+ - ext/libsass/b64/encode.h
130
+ - ext/libsass/backtrace.hpp
131
+ - ext/libsass/base64vlq.cpp
132
+ - ext/libsass/base64vlq.hpp
133
+ - ext/libsass/bind.cpp
134
+ - ext/libsass/bind.hpp
135
+ - ext/libsass/cencode.c
136
+ - ext/libsass/color_names.hpp
137
+ - ext/libsass/configure.ac
138
+ - ext/libsass/constants.cpp
139
+ - ext/libsass/constants.hpp
140
+ - ext/libsass/context.cpp
141
+ - ext/libsass/context.hpp
142
+ - ext/libsass/contextualize.cpp
143
+ - ext/libsass/contextualize.hpp
144
+ - ext/libsass/copy_c_str.cpp
145
+ - ext/libsass/copy_c_str.hpp
146
+ - ext/libsass/debug.hpp
147
+ - ext/libsass/environment.hpp
148
+ - ext/libsass/error_handling.cpp
149
+ - ext/libsass/error_handling.hpp
150
+ - ext/libsass/eval.cpp
151
+ - ext/libsass/eval.hpp
152
+ - ext/libsass/expand.cpp
153
+ - ext/libsass/expand.hpp
154
+ - ext/libsass/extconf.rb
155
+ - ext/libsass/extend.cpp
156
+ - ext/libsass/extend.hpp
157
+ - ext/libsass/file.cpp
158
+ - ext/libsass/file.hpp
159
+ - ext/libsass/functions.cpp
160
+ - ext/libsass/functions.hpp
161
+ - ext/libsass/inspect.cpp
162
+ - ext/libsass/inspect.hpp
163
+ - ext/libsass/json.cpp
164
+ - ext/libsass/json.hpp
165
+ - ext/libsass/kwd_arg_macros.hpp
166
+ - ext/libsass/m4/.gitkeep
167
+ - ext/libsass/mapping.hpp
168
+ - ext/libsass/memory_manager.hpp
169
+ - ext/libsass/node.cpp
170
+ - ext/libsass/node.hpp
171
+ - ext/libsass/operation.hpp
172
+ - ext/libsass/output_compressed.cpp
173
+ - ext/libsass/output_compressed.hpp
174
+ - ext/libsass/output_nested.cpp
175
+ - ext/libsass/output_nested.hpp
176
+ - ext/libsass/parser.cpp
177
+ - ext/libsass/parser.hpp
178
+ - ext/libsass/paths.hpp
179
+ - ext/libsass/position.hpp
180
+ - ext/libsass/posix/getopt.c
181
+ - ext/libsass/posix/getopt.h
182
+ - ext/libsass/prelexer.cpp
183
+ - ext/libsass/prelexer.hpp
184
+ - ext/libsass/remove_placeholders.cpp
185
+ - ext/libsass/remove_placeholders.hpp
186
+ - ext/libsass/res/resource.rc
187
+ - ext/libsass/sass.cpp
188
+ - ext/libsass/sass.h
189
+ - ext/libsass/sass2scss.cpp
190
+ - ext/libsass/sass2scss.h
191
+ - ext/libsass/sass_context.cpp
192
+ - ext/libsass/sass_context.h
193
+ - ext/libsass/sass_functions.cpp
194
+ - ext/libsass/sass_functions.h
195
+ - ext/libsass/sass_interface.cpp
196
+ - ext/libsass/sass_interface.h
197
+ - ext/libsass/sass_util.cpp
198
+ - ext/libsass/sass_util.hpp
199
+ - ext/libsass/sass_values.cpp
200
+ - ext/libsass/sass_values.h
201
+ - ext/libsass/script/bootstrap
202
+ - ext/libsass/script/branding
203
+ - ext/libsass/script/ci-build-libsass
204
+ - ext/libsass/script/ci-install-compiler
205
+ - ext/libsass/script/ci-install-deps
206
+ - ext/libsass/script/ci-report-coverage
207
+ - ext/libsass/script/coveralls-debug
208
+ - ext/libsass/script/spec
209
+ - ext/libsass/script/tap-driver
210
+ - ext/libsass/script/tap-runner
211
+ - ext/libsass/source_map.cpp
212
+ - ext/libsass/source_map.hpp
213
+ - ext/libsass/subset_map.hpp
214
+ - ext/libsass/support/libsass.pc.in
215
+ - ext/libsass/test-driver
216
+ - ext/libsass/test/test_node.cpp
217
+ - ext/libsass/test/test_paths.cpp
218
+ - ext/libsass/test/test_selector_difference.cpp
219
+ - ext/libsass/test/test_specificity.cpp
220
+ - ext/libsass/test/test_subset_map.cpp
221
+ - ext/libsass/test/test_superselector.cpp
222
+ - ext/libsass/test/test_unification.cpp
223
+ - ext/libsass/to_c.cpp
224
+ - ext/libsass/to_c.hpp
225
+ - ext/libsass/to_string.cpp
226
+ - ext/libsass/to_string.hpp
227
+ - ext/libsass/token.hpp
228
+ - ext/libsass/units.cpp
229
+ - ext/libsass/units.hpp
230
+ - ext/libsass/utf8.h
231
+ - ext/libsass/utf8/checked.h
232
+ - ext/libsass/utf8/core.h
233
+ - ext/libsass/utf8/unchecked.h
234
+ - ext/libsass/utf8_string.cpp
235
+ - ext/libsass/utf8_string.hpp
236
+ - ext/libsass/util.cpp
237
+ - ext/libsass/util.hpp
238
+ - ext/libsass/win/libsass.filters
239
+ - ext/libsass/win/libsass.sln
240
+ - ext/libsass/win/libsass.vcxproj
241
+ - lib/sassc.rb
242
+ - lib/sassc/engine.rb
243
+ - lib/sassc/native.rb
244
+ - lib/sassc/native/native_context_api.rb
245
+ - lib/sassc/native/native_functions_api.rb
246
+ - lib/sassc/native/sass_input_style.rb
247
+ - lib/sassc/native/sass_output_style.rb
248
+ - lib/sassc/native/sass_value.rb
249
+ - lib/sassc/native/string_list.rb
250
+ - lib/sassc/version.rb
251
+ - sassc.gemspec
252
+ - test/smoke_test.rb
253
+ - test/test_helper.rb
254
+ homepage: ''
255
+ licenses:
256
+ - MIT
257
+ metadata: {}
258
+ post_install_message:
259
+ rdoc_options: []
260
+ require_paths:
261
+ - lib
262
+ - ext
263
+ required_ruby_version: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - ">="
266
+ - !ruby/object:Gem::Version
267
+ version: '0'
268
+ required_rubygems_version: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: '0'
273
+ requirements: []
274
+ rubyforge_project:
275
+ rubygems_version: 2.4.5
276
+ signing_key:
277
+ specification_version: 4
278
+ summary: Use Libsass with Ruby!
279
+ test_files:
280
+ - test/smoke_test.rb
281
+ - test/test_helper.rb