sassc-rails 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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