sassc-rails 0.0.5 → 0.0.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f8880a6aaa095abf408043fe8feeb9b5aa81605
4
- data.tar.gz: 385c747ade7814cbd38fde09a0fe3158ae6b3fc5
3
+ metadata.gz: 607d6ebf5f495a80e3d4cada4f6ee28939db8221
4
+ data.tar.gz: 846873d730c106fd751f70fe94db8adff1864465
5
5
  SHA512:
6
- metadata.gz: c6183e03a91e0dfc8ffd06c50126f9edfd11c3f5cbcbce8fedcd73d940c76daaea655c9af393c85c7d11a9b77d46c6f65d638e57e4ca48ae681ec85baae2ea02
7
- data.tar.gz: e240e8a6322b9ab5491e0616fce649da6e6fa775d247321f7ce545a9c4fb2fcc162ee257ba59fb950aca4d1de70706dc9b072eaacd06aa11dab375ed7d755453
6
+ metadata.gz: 9d7bcd45f41f36c9cbbce561dba0746ac67ae3f233a86c6ff3165f665f4e0fa47bca4198302313a4fb6acb6e2a156bfbddd4efbaaa89e8c765388165244e7fcf
7
+ data.tar.gz: 2f6b7d28784bd732876b831d75959b285968b4b26b585e8edc55e5ceefdcb7c5551fbebd8b0ff34a75a1b9518dcafeb5855a3d9f31d01b128a6498b43aef469f
data/.gitignore CHANGED
@@ -1,6 +1,7 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
3
  /Gemfile.lock
4
+ /gemfiles/*.lock
4
5
  /_yardoc/
5
6
  /coverage/
6
7
  /doc/
data/.travis.yml CHANGED
@@ -1,10 +1,20 @@
1
1
  language: ruby
2
2
 
3
3
  bundler_args: "--binstubs --standalone --without documentation --path ../bundle"
4
+
4
5
  script: "bundle exec rake test"
6
+
7
+ gemfile:
8
+ - gemfiles/sprockets_2_12.gemfile
9
+ - gemfiles/sprockets_3_0.gemfile
10
+ - gemfiles/rails_4_2.gemfile
11
+ - gemfiles/rails_4_1.gemfile
12
+ - gemfiles/rails_4_0.gemfile
13
+
5
14
  rvm:
6
15
  - 2.0.0
7
16
  - 2.1.5
8
17
  - 2.2.0
18
+
9
19
  notifications:
10
20
  email: false
data/Gemfile CHANGED
@@ -1,4 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ # for working locally
4
+ # gem "sassc", :path => "../sassc"
5
+
3
6
  # Specify your gem's dependencies in sassc-rails.gemspec
4
7
  gemspec
data/Rakefile CHANGED
@@ -4,3 +4,31 @@ task :test do
4
4
  $LOAD_PATH.unshift('lib', 'test')
5
5
  Dir.glob('./test/**/*_test.rb') { |f| require f }
6
6
  end
7
+
8
+ namespace :tests do
9
+ gemfiles = %w[
10
+ sprockets_2_12
11
+ sprockets_3_0
12
+ rails_4_2
13
+ rails_4_1
14
+ rails_4_0
15
+ with_sass_rails
16
+ ]
17
+
18
+ gemfiles.each do |gemfile|
19
+ desc "Run Tests against #{gemfile}"
20
+ task gemfile do
21
+ sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle --quiet"
22
+ sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle exec rake test"
23
+ end
24
+ end
25
+
26
+ desc "Run Tests against all ORMs"
27
+ task :all do
28
+ gemfiles.each do |gemfile|
29
+ puts "Running Tests against #{gemfile}"
30
+ sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle --quiet"
31
+ sh "BUNDLE_GEMFILE='gemfiles/#{gemfile}.gemfile' bundle exec rake test"
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rails", "~> 4.0.0"
4
+
5
+ # Specify your gem's dependencies in sassc-rails.gemspec
6
+ gemspec path: "../"
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rails", "~> 4.1.0"
4
+
5
+ # Specify your gem's dependencies in sassc-rails.gemspec
6
+ gemspec path: "../"
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rails", "~> 4.2.0"
4
+
5
+ # Specify your gem's dependencies in sassc-rails.gemspec
6
+ gemspec path: "../"
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "sprockets", "~> 2.12.0"
4
+
5
+ # Specify your gem's dependencies in sassc-rails.gemspec
6
+ gemspec path: "../"
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "sprockets", "~> 3.0.0"
4
+
5
+ # Specify your gem's dependencies in sassc-rails.gemspec
6
+ gemspec path: "../"
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "sass-rails"
4
+
5
+ # Specify your gem's dependencies in sassc-rails.gemspec
6
+ gemspec path: "../"
@@ -1,11 +1,11 @@
1
- require "sprockets/sass_template"
1
+ require 'sprockets/sass_functions'
2
2
 
3
3
  module Sprockets
4
- class SassTemplate
5
- module Functions
6
- def asset_data_url(path)
7
- SassC::Script::String.new("url(" + sprockets_context.asset_data_uri(path.value) + ")")
8
- end
4
+ module SassFunctions
5
+ def asset_data_url(path)
6
+ SassC::Script::String.new("url(" + sprockets_context.asset_data_uri(path.value) + ")")
9
7
  end
10
8
  end
11
9
  end
10
+
11
+ ::SassC::Script::Functions.send :include, Sprockets::SassFunctions
@@ -24,6 +24,12 @@ module SassC::Rails
24
24
  # Remove the sass middleware if it gets inadvertently enabled by applications.
25
25
  config.after_initialize do |app|
26
26
  app.config.middleware.delete(Sass::Plugin::Rack) if defined?(Sass::Plugin::Rack)
27
+
28
+ if app.assets
29
+ # do this after initialize so sass-rails doesn't interfere with us
30
+ app.assets.register_engine '.sass', SassC::Rails::SassTemplate
31
+ app.assets.register_engine '.scss', SassC::Rails::ScssTemplate
32
+ end
27
33
  end
28
34
 
29
35
  initializer :setup_sass, group: :all do |app|
@@ -42,9 +48,6 @@ module SassC::Rails
42
48
  # end
43
49
 
44
50
  if app.assets
45
- app.assets.register_engine '.sass', SassC::Rails::SassTemplate
46
- app.assets.register_engine '.scss', SassC::Rails::ScssTemplate
47
-
48
51
  app.assets.context_class.class_eval do
49
52
  class_attribute :sass_config
50
53
  self.sass_config = app.config.sass
@@ -1,38 +1,78 @@
1
- require 'sassc'
1
+ require "sprockets/version"
2
2
  require "sprockets/sass_template"
3
3
  require "sprockets/utils"
4
4
 
5
5
  module SassC::Rails
6
6
  class SassTemplate < Sprockets::SassTemplate
7
- def call(input)
8
- context = input[:environment].context_class.new(input)
9
-
10
- options = {
11
- filename: input[:filename],
12
- syntax: self.class.syntax,
13
- load_paths: input[:environment].paths,
14
- importer: SassC::Rails::Importer,
15
- sprockets: {
16
- context: context,
17
- environment: input[:environment],
18
- dependencies: context.metadata[:dependency_paths]
7
+ module Sprockets3
8
+ def call(input)
9
+ context = input[:environment].context_class.new(input)
10
+
11
+ options = {
12
+ filename: input[:filename],
13
+ syntax: self.class.syntax,
14
+ load_paths: input[:environment].paths,
15
+ importer: SassC::Rails::Importer,
16
+ sprockets: {
17
+ context: context,
18
+ environment: input[:environment],
19
+ dependencies: context.metadata[:dependency_paths]
20
+ }
19
21
  }
20
- }
21
22
 
22
- engine = ::SassC::Engine.new(input[:data], options)
23
+ engine = ::SassC::Engine.new(input[:data], options)
24
+
25
+ css = Sprockets::Utils.module_include(::SassC::Script::Functions, @functions) do
26
+ engine.render
27
+ end
23
28
 
24
- css = Sprockets::Utils.module_include(::SassC::Script::Functions, @functions) do
25
- engine.render
29
+ context.metadata.merge(data: css)
26
30
  end
31
+ end
32
+
33
+ module Sprockets2
34
+ def self.included(base)
35
+ base.class_eval do
36
+ self.default_mime_type = "text/css"
37
+ end
38
+ end
39
+
40
+ def evaluate(context, locals, &block)
41
+ options = {
42
+ filename: eval_file,
43
+ syntax: syntax,
44
+ load_paths: context.environment.paths,
45
+ importer: SassC::Rails::Importer,
46
+ sprockets: {
47
+ context: context,
48
+ environment: context.environment
49
+ }
50
+ }
27
51
 
28
- context.metadata.merge(data: css)
52
+ ::SassC::Engine.new(data, options).render
53
+ end
29
54
  end
30
55
 
56
+ if Sprockets::VERSION > "3.0.0"
57
+ include Sprockets3
58
+ else
59
+ include Sprockets2
60
+ end
31
61
  end
32
62
 
33
63
  class ScssTemplate < SassTemplate
64
+ unless Sprockets::VERSION > "3.0.0"
65
+ self.default_mime_type = 'text/css'
66
+ end
67
+
68
+ # Sprockets 3
34
69
  def self.syntax
35
70
  :scss
36
71
  end
72
+
73
+ # Sprockets 2
74
+ def syntax
75
+ :scss
76
+ end
37
77
  end
38
78
  end
@@ -1,5 +1,5 @@
1
1
  module SassC
2
2
  module Rails
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.6"
4
4
  end
5
5
  end
data/sassc-rails.gemspec CHANGED
@@ -21,17 +21,15 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency 'pry'
22
22
  spec.add_development_dependency "bundler", "~> 1.7"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
- spec.add_development_dependency "minitest", "~> 5.5.1"
25
- spec.add_development_dependency 'rails'
26
24
  spec.add_development_dependency 'mocha'
27
25
 
28
26
  # unfortunately we require sass for now, so that we can
29
27
  # reuse portions of the sprockets template
30
28
  spec.add_dependency 'sass'
29
+ spec.add_dependency "sassc", "1.1.1"
31
30
 
32
- spec.add_dependency 'tilt' # For ERB
31
+ spec.add_dependency "tilt"
33
32
 
34
- spec.add_dependency "sassc", "1.1.1"
35
- spec.add_dependency 'railties'
36
- spec.add_dependency 'sprockets', '3.0.0.beta.6'
33
+ spec.add_dependency 'rails', '>= 4.0.0'
34
+ spec.add_dependency 'sprockets', '> 2.11'
37
35
  end
@@ -1,9 +1,11 @@
1
1
  require "test_helper"
2
2
 
3
- class SassRailsTest < MiniTest::Test
3
+ class SassRailsTest < MiniTest::Unit::TestCase
4
4
  attr_reader :app
5
5
 
6
6
  def setup
7
+ Rails.application = nil
8
+
7
9
  @app = Class.new(Rails::Application)
8
10
  @app.config.active_support.deprecation = :log
9
11
  @app.config.eager_load = false
@@ -164,6 +166,10 @@ class SassRailsTest < MiniTest::Test
164
166
  css_output = render_asset("special_characters.scss")
165
167
  end
166
168
 
169
+ def test_compression_works
170
+ skip
171
+ end
172
+
167
173
  #test 'sprockets require works correctly' do
168
174
  # skip
169
175
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sassc-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Boland
@@ -53,21 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: minitest
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 5.5.1
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 5.5.1
69
- - !ruby/object:Gem::Dependency
70
- name: rails
56
+ name: mocha
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
@@ -81,13 +67,13 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: mocha
70
+ name: sass
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
88
74
  - !ruby/object:Gem::Version
89
75
  version: '0'
90
- type: :development
76
+ type: :runtime
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
@@ -95,19 +81,19 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: sass
84
+ name: sassc
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - ">="
87
+ - - '='
102
88
  - !ruby/object:Gem::Version
103
- version: '0'
89
+ version: 1.1.1
104
90
  type: :runtime
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - ">="
94
+ - - '='
109
95
  - !ruby/object:Gem::Version
110
- version: '0'
96
+ version: 1.1.1
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: tilt
113
99
  requirement: !ruby/object:Gem::Requirement
@@ -123,47 +109,33 @@ dependencies:
123
109
  - !ruby/object:Gem::Version
124
110
  version: '0'
125
111
  - !ruby/object:Gem::Dependency
126
- name: sassc
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - '='
130
- - !ruby/object:Gem::Version
131
- version: 1.1.1
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - '='
137
- - !ruby/object:Gem::Version
138
- version: 1.1.1
139
- - !ruby/object:Gem::Dependency
140
- name: railties
112
+ name: rails
141
113
  requirement: !ruby/object:Gem::Requirement
142
114
  requirements:
143
115
  - - ">="
144
116
  - !ruby/object:Gem::Version
145
- version: '0'
117
+ version: 4.0.0
146
118
  type: :runtime
147
119
  prerelease: false
148
120
  version_requirements: !ruby/object:Gem::Requirement
149
121
  requirements:
150
122
  - - ">="
151
123
  - !ruby/object:Gem::Version
152
- version: '0'
124
+ version: 4.0.0
153
125
  - !ruby/object:Gem::Dependency
154
126
  name: sprockets
155
127
  requirement: !ruby/object:Gem::Requirement
156
128
  requirements:
157
- - - '='
129
+ - - ">"
158
130
  - !ruby/object:Gem::Version
159
- version: 3.0.0.beta.6
131
+ version: '2.11'
160
132
  type: :runtime
161
133
  prerelease: false
162
134
  version_requirements: !ruby/object:Gem::Requirement
163
135
  requirements:
164
- - - '='
136
+ - - ">"
165
137
  - !ruby/object:Gem::Version
166
- version: 3.0.0.beta.6
138
+ version: '2.11'
167
139
  description: Integrate SassC-Ruby into Rails.
168
140
  email:
169
141
  - bolandryanm@gmail.com
@@ -177,6 +149,12 @@ files:
177
149
  - LICENSE.txt
178
150
  - README.md
179
151
  - Rakefile
152
+ - gemfiles/rails_4_0.gemfile
153
+ - gemfiles/rails_4_1.gemfile
154
+ - gemfiles/rails_4_2.gemfile
155
+ - gemfiles/sprockets_2_12.gemfile
156
+ - gemfiles/sprockets_3_0.gemfile
157
+ - gemfiles/with_sass_rails.gemfile
180
158
  - lib/sassc-rails.rb
181
159
  - lib/sassc/rails.rb
182
160
  - lib/sassc/rails/functions.rb
@@ -218,7 +196,6 @@ files:
218
196
  - test/dummy/app/assets/stylesheets/subfolder/second_level.scss
219
197
  - test/dummy/app/assets/stylesheets/syntax_error.scss
220
198
  - test/sassc_rails_test.rb
221
- - test/smoke_test.rb
222
199
  - test/test_helper.rb
223
200
  - test_old/fixtures/alternate_config_project/.gitignore
224
201
  - test_old/fixtures/alternate_config_project/Gemfile
@@ -490,5 +467,4 @@ test_files:
490
467
  - test/dummy/app/assets/stylesheets/subfolder/second_level.scss
491
468
  - test/dummy/app/assets/stylesheets/syntax_error.scss
492
469
  - test/sassc_rails_test.rb
493
- - test/smoke_test.rb
494
470
  - test/test_helper.rb
data/test/smoke_test.rb DELETED
@@ -1,20 +0,0 @@
1
- require "test_helper"
2
- require "sassc"
3
-
4
- SAMPLE_SASS_STRING = "$size: 30px; .hi { width: $size; }"
5
- SAMPLE_CSS_OUTPUT = ".hi {\n width: 30px; }\n"
6
-
7
- class DataContextTest < MiniTest::Test
8
- def teardown
9
- SassC::Native.delete_data_context(@data_context)
10
- end
11
-
12
- def test_compiled_css_is_correct
13
- @data_context = SassC::Native.make_data_context(SAMPLE_SASS_STRING)
14
- context = SassC::Native.data_context_get_context(@data_context)
15
- SassC::Native.compile_data_context(@data_context)
16
-
17
- css = SassC::Native.context_get_output_string(context)
18
- assert_equal SAMPLE_CSS_OUTPUT, css
19
- end
20
- end