sass 3.1.0.alpha.262 → 3.1.0.alpha.263
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.
- data/REVISION +1 -1
- data/VERSION +1 -1
- data/lib/sass/plugin/rails.rb +8 -82
- data/lib/sass/railtie.rb +3 -2
- metadata +1 -3
- data/lib/sass/cache_stores/active_support.rb +0 -28
- data/lib/sass/importers/rails.rb +0 -75
data/REVISION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1f56925df17ec8196fd6687b9f16f2da2b6b2a2d
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.1.0.alpha.
|
|
1
|
+
3.1.0.alpha.263
|
data/lib/sass/plugin/rails.rb
CHANGED
|
@@ -11,18 +11,11 @@ unless defined?(Sass::RAILS_LOADED)
|
|
|
11
11
|
:cache_location => Sass::Util.rails_root + '/tmp/sass-cache'
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
else
|
|
20
|
-
opts.merge!(
|
|
21
|
-
:always_update => false,
|
|
22
|
-
:template_location => Sass::Util.rails_root + '/public/stylesheets/sass',
|
|
23
|
-
:css_location => Sass::Util.rails_root + '/public/stylesheets',
|
|
24
|
-
:always_check => Sass::Util.rails_env == "development")
|
|
25
|
-
end
|
|
14
|
+
opts.merge!(
|
|
15
|
+
:always_update => false,
|
|
16
|
+
:template_location => Sass::Util.rails_root + '/public/stylesheets/sass',
|
|
17
|
+
:css_location => Sass::Util.rails_root + '/public/stylesheets',
|
|
18
|
+
:always_check => Sass::Util.rails_env == "development")
|
|
26
19
|
|
|
27
20
|
@default_options = opts.freeze
|
|
28
21
|
end
|
|
@@ -30,76 +23,9 @@ unless defined?(Sass::RAILS_LOADED)
|
|
|
30
23
|
|
|
31
24
|
Sass::Plugin.options.reverse_merge!(Sass::Plugin.default_options)
|
|
32
25
|
|
|
33
|
-
#
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
class Sass::Plugin::TemplateHandler
|
|
37
|
-
attr_reader :syntax
|
|
38
|
-
|
|
39
|
-
def initialize(syntax)
|
|
40
|
-
@syntax = syntax
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def handles_encoding?; true; end
|
|
44
|
-
|
|
45
|
-
def call(template, view)
|
|
46
|
-
engine = Sass::Engine.new(template.source,
|
|
47
|
-
Sass::Plugin.engine_options.merge(
|
|
48
|
-
:syntax => @syntax,
|
|
49
|
-
:filename => template.virtual_path,
|
|
50
|
-
:_rails_lookup_context => view.lookup_context,
|
|
51
|
-
:importer => Sass::Importers::Rails.new))
|
|
52
|
-
|
|
53
|
-
template.data[:sass_importers] = engine.dependencies.map do |e|
|
|
54
|
-
[e.options[:filename], e.options[:importer]]
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
stylesheet =
|
|
58
|
-
begin
|
|
59
|
-
engine.render
|
|
60
|
-
rescue Sass::SyntaxError => e
|
|
61
|
-
Sass::Plugin::TemplateHandler.munge_exception e, view.lookup_context
|
|
62
|
-
Sass::SyntaxError.exception_to_css(e, Sass::Plugin.engine_options)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
<<RUBY
|
|
66
|
-
begin
|
|
67
|
-
if Sass::Plugin::TemplateHandler.dependencies_changed?(
|
|
68
|
-
@_template.data[:sass_importers], #{Time.now.to_i}, lookup_context)
|
|
69
|
-
@_template.expire!
|
|
70
|
-
@_template.rerender(self)
|
|
71
|
-
else
|
|
72
|
-
#{stylesheet.inspect}
|
|
73
|
-
end
|
|
74
|
-
rescue Sass::SyntaxError => e
|
|
75
|
-
Sass::Plugin::TemplateHandler.munge_exception e, lookup_context
|
|
76
|
-
Sass::SyntaxError.exception_to_css(e, Sass::Plugin.engine_options)
|
|
77
|
-
end
|
|
78
|
-
RUBY
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def self.dependencies_changed?(deps, since, lookup_context)
|
|
82
|
-
opts = Sass::Plugin.engine_options.merge(:_rails_lookup_context => lookup_context)
|
|
83
|
-
deps.any? do |d, i|
|
|
84
|
-
return true unless time = i.mtime(d, opts)
|
|
85
|
-
time.to_i > since
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
def self.munge_exception(e, lookup_context)
|
|
90
|
-
importer = Sass::Importers::Rails.new
|
|
91
|
-
opts = Sass::Plugin.engine_options.merge(:_rails_lookup_context => lookup_context)
|
|
92
|
-
e.sass_backtrace.each do |bt|
|
|
93
|
-
next unless engine = importer.find(bt[:filename], opts)
|
|
94
|
-
bt[:filename] = engine.options[:_rails_filename]
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
ActionView::Template.register_template_handler(:sass, Sass::Plugin::TemplateHandler.new(:sass))
|
|
100
|
-
ActionView::Template.register_template_handler(:scss, Sass::Plugin::TemplateHandler.new(:scss))
|
|
101
|
-
elsif defined?(ActionController::Metal)
|
|
102
|
-
# Rails >= 3.0
|
|
26
|
+
# Rails 3.1 loads and handles Sass all on its own
|
|
27
|
+
if defined?(ActionController::Metal)
|
|
28
|
+
# 3.1 > Rails >= 3.0
|
|
103
29
|
require 'sass/plugin/rack'
|
|
104
30
|
Rails.configuration.middleware.use(Sass::Plugin::Rack)
|
|
105
31
|
elsif defined?(ActionController::Dispatcher) &&
|
data/lib/sass/railtie.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
# Rails 3.0.0.beta.2
|
|
2
|
-
if defined?(ActiveSupport) && Sass::Util.has?(:public_method, ActiveSupport, :on_load)
|
|
1
|
+
# Rails 3.0.0.beta.2+, < 3.1
|
|
2
|
+
if defined?(ActiveSupport) && Sass::Util.has?(:public_method, ActiveSupport, :on_load) &&
|
|
3
|
+
!Sass::Util.ap_geq?('3.1.0.beta')
|
|
3
4
|
require 'sass/plugin/configuration'
|
|
4
5
|
ActiveSupport.on_load(:before_initialize) do
|
|
5
6
|
require 'sass'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sass
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.1.0.alpha.
|
|
4
|
+
version: 3.1.0.alpha.263
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nathan Weizenbaum
|
|
@@ -57,7 +57,6 @@ files:
|
|
|
57
57
|
- lib/sass/script.rb
|
|
58
58
|
- lib/sass/selector.rb
|
|
59
59
|
- lib/sass/cache_stores.rb
|
|
60
|
-
- lib/sass/cache_stores/active_support.rb
|
|
61
60
|
- lib/sass/cache_stores/base.rb
|
|
62
61
|
- lib/sass/cache_stores/chain.rb
|
|
63
62
|
- lib/sass/cache_stores/filesystem.rb
|
|
@@ -74,7 +73,6 @@ files:
|
|
|
74
73
|
- lib/sass/repl.rb
|
|
75
74
|
- lib/sass/importers/base.rb
|
|
76
75
|
- lib/sass/importers/filesystem.rb
|
|
77
|
-
- lib/sass/importers/rails.rb
|
|
78
76
|
- lib/sass/root.rb
|
|
79
77
|
- lib/sass/script/bool.rb
|
|
80
78
|
- lib/sass/script/color.rb
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
module Sass
|
|
2
|
-
module CacheStores
|
|
3
|
-
# A cache store that wraps an ActiveSupport cache store.
|
|
4
|
-
# This is useful for integrating with an app that uses ActiveSupport,
|
|
5
|
-
# or for taking advantage of the wide variety of ActiveSupport cache backends.
|
|
6
|
-
#
|
|
7
|
-
# This is automatically used within Rails.
|
|
8
|
-
class ActiveSupport < Base
|
|
9
|
-
# @param store [::ActiveSupport::Cache::Store] The cache store to wrap.
|
|
10
|
-
def initialize(store)
|
|
11
|
-
@store = store
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
# @see Base#_retrieve
|
|
15
|
-
def _retrieve(key, version, sha)
|
|
16
|
-
return unless val = @store.fetch('_sass/' + key)
|
|
17
|
-
return unless val[:version] == version
|
|
18
|
-
return unless val[:sha] == sha
|
|
19
|
-
return val[:contents]
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
# @see Base#_store
|
|
23
|
-
def _store(key, version, sha, contents)
|
|
24
|
-
@store.write('_sass/' + key, :version => version, :sha => sha, :contents => contents)
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
data/lib/sass/importers/rails.rb
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
module Sass
|
|
2
|
-
module Importers
|
|
3
|
-
# An importer that wraps the Rails 3.1 view infrastructure.
|
|
4
|
-
# Loads Sass files as though they were views in Rails.
|
|
5
|
-
# Currently doesn't support caching.
|
|
6
|
-
#
|
|
7
|
-
# This is different from standard Rails rendering
|
|
8
|
-
# in that Sass doesn't have a concept of importing partials
|
|
9
|
-
# as a distinct action from importing other Sass files.
|
|
10
|
-
# Imports within Rails behave more like Sass imports:
|
|
11
|
-
# they will first attempt to find a non-partial file,
|
|
12
|
-
# and failing that will fall back on a partial.
|
|
13
|
-
#
|
|
14
|
-
# Each importer instance is local to a single request for a single view.
|
|
15
|
-
# It contains the ActionView::LookupContext for that request,
|
|
16
|
-
# as well as the controller prefix for the view being generated.
|
|
17
|
-
class Rails < Base
|
|
18
|
-
# Creates a new Rails importer that imports files as Rails views.
|
|
19
|
-
def initialize; end
|
|
20
|
-
|
|
21
|
-
# @see Base#find_relative
|
|
22
|
-
def find_relative(uri, base, options)
|
|
23
|
-
find_(uri, base.split('/')[0...-1].join('/'), options)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
# @see Base#find
|
|
27
|
-
def find(uri, options)
|
|
28
|
-
find_(uri, nil, options)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# @see Base#mtime
|
|
32
|
-
def mtime(uri, options)
|
|
33
|
-
return unless template =
|
|
34
|
-
find_template(uri, nil, !:partial, options) ||
|
|
35
|
-
find_template(uri, nil, :partial, options)
|
|
36
|
-
template.updated_at
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
# @see Base#key
|
|
40
|
-
def key(uri, options)
|
|
41
|
-
[self.class.name + ":" + uri.split('/')[0...-1].join('/'),
|
|
42
|
-
uri.split('/')[-1] + "." + options[:syntax].to_s]
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
# @see Base#to_s
|
|
46
|
-
def to_s
|
|
47
|
-
"(Rails importer)"
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
private
|
|
51
|
-
|
|
52
|
-
def find_(uri, prefix, options)
|
|
53
|
-
prepare_template(
|
|
54
|
-
find_template(uri, prefix, !:partial, options) ||
|
|
55
|
-
find_template(uri, prefix, :partial, options),
|
|
56
|
-
options)
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def find_template(uri, prefix, partial, options)
|
|
60
|
-
return options[:_rails_lookup_context].
|
|
61
|
-
find_all(uri, prefix, partial).
|
|
62
|
-
find {|t| t.handler.is_a?(Sass::Plugin::TemplateHandler)}
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def prepare_template(template, options)
|
|
66
|
-
return unless template
|
|
67
|
-
options[:syntax] = template.handler.syntax
|
|
68
|
-
options[:filename] = template.virtual_path
|
|
69
|
-
options[:_rails_filename] = template.identifier
|
|
70
|
-
options[:importer] = self
|
|
71
|
-
Sass::Engine.new(template.source, options)
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
end
|