spree 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of spree might be problematic. Click here for more details.

Files changed (181) hide show
  1. data/CHANGELOG +4 -0
  2. data/config/environment.rb +3 -3
  3. data/lib/spree.rb +1 -1
  4. data/public/stylesheets/compiled/screen.css +59 -267
  5. metadata +4 -207
  6. data/vendor/gems/haml-2.1.0/FAQ +0 -138
  7. data/vendor/gems/haml-2.1.0/MIT-LICENSE +0 -20
  8. data/vendor/gems/haml-2.1.0/README.rdoc +0 -332
  9. data/vendor/gems/haml-2.1.0/REVISION +0 -1
  10. data/vendor/gems/haml-2.1.0/Rakefile +0 -185
  11. data/vendor/gems/haml-2.1.0/VERSION +0 -1
  12. data/vendor/gems/haml-2.1.0/bin/css2sass +0 -7
  13. data/vendor/gems/haml-2.1.0/bin/haml +0 -9
  14. data/vendor/gems/haml-2.1.0/bin/html2haml +0 -7
  15. data/vendor/gems/haml-2.1.0/bin/sass +0 -8
  16. data/vendor/gems/haml-2.1.0/extra/haml-mode.el +0 -434
  17. data/vendor/gems/haml-2.1.0/extra/sass-mode.el +0 -98
  18. data/vendor/gems/haml-2.1.0/init.rb +0 -8
  19. data/vendor/gems/haml-2.1.0/lib/haml.rb +0 -1042
  20. data/vendor/gems/haml-2.1.0/lib/haml/buffer.rb +0 -255
  21. data/vendor/gems/haml-2.1.0/lib/haml/engine.rb +0 -268
  22. data/vendor/gems/haml-2.1.0/lib/haml/error.rb +0 -22
  23. data/vendor/gems/haml-2.1.0/lib/haml/exec.rb +0 -395
  24. data/vendor/gems/haml-2.1.0/lib/haml/filters.rb +0 -276
  25. data/vendor/gems/haml-2.1.0/lib/haml/helpers.rb +0 -468
  26. data/vendor/gems/haml-2.1.0/lib/haml/helpers/action_view_extensions.rb +0 -45
  27. data/vendor/gems/haml-2.1.0/lib/haml/helpers/action_view_mods.rb +0 -181
  28. data/vendor/gems/haml-2.1.0/lib/haml/html.rb +0 -218
  29. data/vendor/gems/haml-2.1.0/lib/haml/precompiler.rb +0 -889
  30. data/vendor/gems/haml-2.1.0/lib/haml/shared.rb +0 -45
  31. data/vendor/gems/haml-2.1.0/lib/haml/template.rb +0 -51
  32. data/vendor/gems/haml-2.1.0/lib/haml/template/patch.rb +0 -58
  33. data/vendor/gems/haml-2.1.0/lib/haml/template/plugin.rb +0 -72
  34. data/vendor/gems/haml-2.1.0/lib/haml/util.rb +0 -77
  35. data/vendor/gems/haml-2.1.0/lib/haml/version.rb +0 -47
  36. data/vendor/gems/haml-2.1.0/lib/sass.rb +0 -1062
  37. data/vendor/gems/haml-2.1.0/lib/sass/css.rb +0 -388
  38. data/vendor/gems/haml-2.1.0/lib/sass/engine.rb +0 -499
  39. data/vendor/gems/haml-2.1.0/lib/sass/environment.rb +0 -33
  40. data/vendor/gems/haml-2.1.0/lib/sass/error.rb +0 -35
  41. data/vendor/gems/haml-2.1.0/lib/sass/plugin.rb +0 -203
  42. data/vendor/gems/haml-2.1.0/lib/sass/plugin/merb.rb +0 -56
  43. data/vendor/gems/haml-2.1.0/lib/sass/plugin/rails.rb +0 -24
  44. data/vendor/gems/haml-2.1.0/lib/sass/repl.rb +0 -51
  45. data/vendor/gems/haml-2.1.0/lib/sass/script.rb +0 -38
  46. data/vendor/gems/haml-2.1.0/lib/sass/script/bool.rb +0 -13
  47. data/vendor/gems/haml-2.1.0/lib/sass/script/color.rb +0 -97
  48. data/vendor/gems/haml-2.1.0/lib/sass/script/funcall.rb +0 -28
  49. data/vendor/gems/haml-2.1.0/lib/sass/script/functions.rb +0 -122
  50. data/vendor/gems/haml-2.1.0/lib/sass/script/lexer.rb +0 -152
  51. data/vendor/gems/haml-2.1.0/lib/sass/script/literal.rb +0 -60
  52. data/vendor/gems/haml-2.1.0/lib/sass/script/number.rb +0 -231
  53. data/vendor/gems/haml-2.1.0/lib/sass/script/operation.rb +0 -30
  54. data/vendor/gems/haml-2.1.0/lib/sass/script/parser.rb +0 -142
  55. data/vendor/gems/haml-2.1.0/lib/sass/script/string.rb +0 -42
  56. data/vendor/gems/haml-2.1.0/lib/sass/script/unary_operation.rb +0 -21
  57. data/vendor/gems/haml-2.1.0/lib/sass/script/variable.rb +0 -20
  58. data/vendor/gems/haml-2.1.0/lib/sass/tree/attr_node.rb +0 -64
  59. data/vendor/gems/haml-2.1.0/lib/sass/tree/comment_node.rb +0 -34
  60. data/vendor/gems/haml-2.1.0/lib/sass/tree/debug_node.rb +0 -22
  61. data/vendor/gems/haml-2.1.0/lib/sass/tree/directive_node.rb +0 -50
  62. data/vendor/gems/haml-2.1.0/lib/sass/tree/file_node.rb +0 -27
  63. data/vendor/gems/haml-2.1.0/lib/sass/tree/for_node.rb +0 -29
  64. data/vendor/gems/haml-2.1.0/lib/sass/tree/if_node.rb +0 -27
  65. data/vendor/gems/haml-2.1.0/lib/sass/tree/mixin_def_node.rb +0 -18
  66. data/vendor/gems/haml-2.1.0/lib/sass/tree/mixin_node.rb +0 -34
  67. data/vendor/gems/haml-2.1.0/lib/sass/tree/node.rb +0 -99
  68. data/vendor/gems/haml-2.1.0/lib/sass/tree/rule_node.rb +0 -120
  69. data/vendor/gems/haml-2.1.0/lib/sass/tree/variable_node.rb +0 -24
  70. data/vendor/gems/haml-2.1.0/lib/sass/tree/while_node.rb +0 -20
  71. data/vendor/gems/haml-2.1.0/rails/init.rb +0 -1
  72. data/vendor/gems/haml-2.1.0/test/benchmark.rb +0 -99
  73. data/vendor/gems/haml-2.1.0/test/haml/engine_test.rb +0 -734
  74. data/vendor/gems/haml-2.1.0/test/haml/helper_test.rb +0 -224
  75. data/vendor/gems/haml-2.1.0/test/haml/html2haml_test.rb +0 -92
  76. data/vendor/gems/haml-2.1.0/test/haml/markaby/standard.mab +0 -52
  77. data/vendor/gems/haml-2.1.0/test/haml/mocks/article.rb +0 -6
  78. data/vendor/gems/haml-2.1.0/test/haml/results/content_for_layout.xhtml +0 -15
  79. data/vendor/gems/haml-2.1.0/test/haml/results/eval_suppressed.xhtml +0 -9
  80. data/vendor/gems/haml-2.1.0/test/haml/results/filters.xhtml +0 -62
  81. data/vendor/gems/haml-2.1.0/test/haml/results/helpers.xhtml +0 -93
  82. data/vendor/gems/haml-2.1.0/test/haml/results/helpful.xhtml +0 -10
  83. data/vendor/gems/haml-2.1.0/test/haml/results/just_stuff.xhtml +0 -68
  84. data/vendor/gems/haml-2.1.0/test/haml/results/list.xhtml +0 -12
  85. data/vendor/gems/haml-2.1.0/test/haml/results/nuke_inner_whitespace.xhtml +0 -40
  86. data/vendor/gems/haml-2.1.0/test/haml/results/nuke_outer_whitespace.xhtml +0 -148
  87. data/vendor/gems/haml-2.1.0/test/haml/results/original_engine.xhtml +0 -20
  88. data/vendor/gems/haml-2.1.0/test/haml/results/partial_layout.xhtml +0 -5
  89. data/vendor/gems/haml-2.1.0/test/haml/results/partials.xhtml +0 -21
  90. data/vendor/gems/haml-2.1.0/test/haml/results/render_layout.xhtml +0 -3
  91. data/vendor/gems/haml-2.1.0/test/haml/results/silent_script.xhtml +0 -74
  92. data/vendor/gems/haml-2.1.0/test/haml/results/standard.xhtml +0 -42
  93. data/vendor/gems/haml-2.1.0/test/haml/results/tag_parsing.xhtml +0 -23
  94. data/vendor/gems/haml-2.1.0/test/haml/results/very_basic.xhtml +0 -5
  95. data/vendor/gems/haml-2.1.0/test/haml/results/whitespace_handling.xhtml +0 -89
  96. data/vendor/gems/haml-2.1.0/test/haml/rhtml/_av_partial_1.rhtml +0 -12
  97. data/vendor/gems/haml-2.1.0/test/haml/rhtml/_av_partial_2.rhtml +0 -8
  98. data/vendor/gems/haml-2.1.0/test/haml/rhtml/action_view.rhtml +0 -62
  99. data/vendor/gems/haml-2.1.0/test/haml/rhtml/standard.rhtml +0 -54
  100. data/vendor/gems/haml-2.1.0/test/haml/template_test.rb +0 -204
  101. data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_1.haml +0 -9
  102. data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_1_ugly.haml +0 -9
  103. data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_2.haml +0 -5
  104. data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_2_ugly.haml +0 -5
  105. data/vendor/gems/haml-2.1.0/test/haml/templates/_layout.erb +0 -3
  106. data/vendor/gems/haml-2.1.0/test/haml/templates/_layout_for_partial.haml +0 -3
  107. data/vendor/gems/haml-2.1.0/test/haml/templates/_partial.haml +0 -8
  108. data/vendor/gems/haml-2.1.0/test/haml/templates/_text_area.haml +0 -3
  109. data/vendor/gems/haml-2.1.0/test/haml/templates/action_view.haml +0 -47
  110. data/vendor/gems/haml-2.1.0/test/haml/templates/action_view_ugly.haml +0 -47
  111. data/vendor/gems/haml-2.1.0/test/haml/templates/breakage.haml +0 -8
  112. data/vendor/gems/haml-2.1.0/test/haml/templates/content_for_layout.haml +0 -10
  113. data/vendor/gems/haml-2.1.0/test/haml/templates/eval_suppressed.haml +0 -11
  114. data/vendor/gems/haml-2.1.0/test/haml/templates/filters.haml +0 -66
  115. data/vendor/gems/haml-2.1.0/test/haml/templates/helpers.haml +0 -95
  116. data/vendor/gems/haml-2.1.0/test/haml/templates/helpful.haml +0 -11
  117. data/vendor/gems/haml-2.1.0/test/haml/templates/just_stuff.haml +0 -83
  118. data/vendor/gems/haml-2.1.0/test/haml/templates/list.haml +0 -12
  119. data/vendor/gems/haml-2.1.0/test/haml/templates/nuke_inner_whitespace.haml +0 -32
  120. data/vendor/gems/haml-2.1.0/test/haml/templates/nuke_outer_whitespace.haml +0 -144
  121. data/vendor/gems/haml-2.1.0/test/haml/templates/original_engine.haml +0 -17
  122. data/vendor/gems/haml-2.1.0/test/haml/templates/partial_layout.haml +0 -3
  123. data/vendor/gems/haml-2.1.0/test/haml/templates/partialize.haml +0 -1
  124. data/vendor/gems/haml-2.1.0/test/haml/templates/partials.haml +0 -12
  125. data/vendor/gems/haml-2.1.0/test/haml/templates/render_layout.haml +0 -2
  126. data/vendor/gems/haml-2.1.0/test/haml/templates/silent_script.haml +0 -40
  127. data/vendor/gems/haml-2.1.0/test/haml/templates/standard.haml +0 -42
  128. data/vendor/gems/haml-2.1.0/test/haml/templates/standard_ugly.haml +0 -42
  129. data/vendor/gems/haml-2.1.0/test/haml/templates/tag_parsing.haml +0 -21
  130. data/vendor/gems/haml-2.1.0/test/haml/templates/very_basic.haml +0 -4
  131. data/vendor/gems/haml-2.1.0/test/haml/templates/whitespace_handling.haml +0 -87
  132. data/vendor/gems/haml-2.1.0/test/linked_rails.rb +0 -12
  133. data/vendor/gems/haml-2.1.0/test/sass/css2sass_test.rb +0 -193
  134. data/vendor/gems/haml-2.1.0/test/sass/engine_test.rb +0 -769
  135. data/vendor/gems/haml-2.1.0/test/sass/functions_test.rb +0 -96
  136. data/vendor/gems/haml-2.1.0/test/sass/more_results/more1.css +0 -9
  137. data/vendor/gems/haml-2.1.0/test/sass/more_results/more1_with_line_comments.css +0 -26
  138. data/vendor/gems/haml-2.1.0/test/sass/more_results/more_import.css +0 -29
  139. data/vendor/gems/haml-2.1.0/test/sass/more_templates/_more_partial.sass +0 -2
  140. data/vendor/gems/haml-2.1.0/test/sass/more_templates/more1.sass +0 -23
  141. data/vendor/gems/haml-2.1.0/test/sass/more_templates/more_import.sass +0 -11
  142. data/vendor/gems/haml-2.1.0/test/sass/plugin_test.rb +0 -208
  143. data/vendor/gems/haml-2.1.0/test/sass/results/alt.css +0 -4
  144. data/vendor/gems/haml-2.1.0/test/sass/results/basic.css +0 -9
  145. data/vendor/gems/haml-2.1.0/test/sass/results/compact.css +0 -5
  146. data/vendor/gems/haml-2.1.0/test/sass/results/complex.css +0 -87
  147. data/vendor/gems/haml-2.1.0/test/sass/results/compressed.css +0 -1
  148. data/vendor/gems/haml-2.1.0/test/sass/results/expanded.css +0 -19
  149. data/vendor/gems/haml-2.1.0/test/sass/results/import.css +0 -29
  150. data/vendor/gems/haml-2.1.0/test/sass/results/line_numbers.css +0 -49
  151. data/vendor/gems/haml-2.1.0/test/sass/results/mixins.css +0 -95
  152. data/vendor/gems/haml-2.1.0/test/sass/results/multiline.css +0 -24
  153. data/vendor/gems/haml-2.1.0/test/sass/results/nested.css +0 -22
  154. data/vendor/gems/haml-2.1.0/test/sass/results/parent_ref.css +0 -13
  155. data/vendor/gems/haml-2.1.0/test/sass/results/script.css +0 -16
  156. data/vendor/gems/haml-2.1.0/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  157. data/vendor/gems/haml-2.1.0/test/sass/results/subdir/subdir.css +0 -3
  158. data/vendor/gems/haml-2.1.0/test/sass/results/units.css +0 -11
  159. data/vendor/gems/haml-2.1.0/test/sass/script_test.rb +0 -153
  160. data/vendor/gems/haml-2.1.0/test/sass/templates/_partial.sass +0 -2
  161. data/vendor/gems/haml-2.1.0/test/sass/templates/alt.sass +0 -16
  162. data/vendor/gems/haml-2.1.0/test/sass/templates/basic.sass +0 -23
  163. data/vendor/gems/haml-2.1.0/test/sass/templates/bork.sass +0 -2
  164. data/vendor/gems/haml-2.1.0/test/sass/templates/bork2.sass +0 -2
  165. data/vendor/gems/haml-2.1.0/test/sass/templates/compact.sass +0 -17
  166. data/vendor/gems/haml-2.1.0/test/sass/templates/complex.sass +0 -309
  167. data/vendor/gems/haml-2.1.0/test/sass/templates/compressed.sass +0 -15
  168. data/vendor/gems/haml-2.1.0/test/sass/templates/expanded.sass +0 -17
  169. data/vendor/gems/haml-2.1.0/test/sass/templates/import.sass +0 -11
  170. data/vendor/gems/haml-2.1.0/test/sass/templates/importee.sass +0 -19
  171. data/vendor/gems/haml-2.1.0/test/sass/templates/line_numbers.sass +0 -13
  172. data/vendor/gems/haml-2.1.0/test/sass/templates/mixins.sass +0 -76
  173. data/vendor/gems/haml-2.1.0/test/sass/templates/multiline.sass +0 -20
  174. data/vendor/gems/haml-2.1.0/test/sass/templates/nested.sass +0 -25
  175. data/vendor/gems/haml-2.1.0/test/sass/templates/parent_ref.sass +0 -25
  176. data/vendor/gems/haml-2.1.0/test/sass/templates/script.sass +0 -101
  177. data/vendor/gems/haml-2.1.0/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  178. data/vendor/gems/haml-2.1.0/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  179. data/vendor/gems/haml-2.1.0/test/sass/templates/subdir/subdir.sass +0 -6
  180. data/vendor/gems/haml-2.1.0/test/sass/templates/units.sass +0 -11
  181. data/vendor/gems/haml-2.1.0/test/test_helper.rb +0 -21
@@ -1,33 +0,0 @@
1
- module Sass
2
- class Environment
3
- attr_reader :parent
4
-
5
- def initialize(parent = nil)
6
- @vars = {}
7
- @mixins = {}
8
- @parent = parent
9
- end
10
-
11
- def self.inherited_hash(name)
12
- class_eval <<RUBY, __FILE__, __LINE__ + 1
13
- def #{name}(name)
14
- @#{name}s[name] || @parent && @parent.#{name}(name)
15
- end
16
-
17
- def set_#{name}(name, value)
18
- if @parent && @parent.#{name}(name)
19
- @parent.set_#{name}(name, value)
20
- else
21
- @#{name}s[name] = value
22
- end
23
- end
24
-
25
- def set_local_#{name}(name, value)
26
- @#{name}s[name] = value
27
- end
28
- RUBY
29
- end
30
- inherited_hash :var
31
- inherited_hash :mixin
32
- end
33
- end
@@ -1,35 +0,0 @@
1
- module Sass
2
- # Sass::SyntaxError encapsulates information about the exception,
3
- # such as the line of the Sass template it was raised on
4
- # and the Sass file that was being parsed (if applicable).
5
- # It also provides a handy way to rescue only exceptions raised
6
- # because of a faulty template.
7
- class SyntaxError < StandardError
8
- # The line of the Sass template on which the exception was thrown.
9
- attr_accessor :sass_line
10
-
11
- # The name of the file that was being parsed when the exception was raised.
12
- # This will be nil unless Sass is being used as an ActionView plugin.
13
- attr_reader :sass_filename
14
-
15
- # Creates a new SyntaxError.
16
- # +lineno+ should be the line of the Sass template on which the error occurred.
17
- def initialize(msg, lineno = nil)
18
- @message = msg
19
- @sass_line = lineno
20
- end
21
-
22
- # Adds a properly formatted entry to the exception's backtrace.
23
- # +filename+ should be the file in which the error occurred,
24
- # if applicable (defaults to "(sass)").
25
- def add_backtrace_entry(filename) # :nodoc:
26
- @sass_filename ||= filename
27
- self.backtrace ||= []
28
- self.backtrace.unshift "#{@sass_filename || '(sass)'}:#{@sass_line}"
29
- end
30
-
31
- def to_s # :nodoc:
32
- @message
33
- end
34
- end
35
- end
@@ -1,203 +0,0 @@
1
- require 'sass/engine'
2
- require 'pathname'
3
-
4
- module Sass
5
- # This module contains methods to aid in using Sass
6
- # as a stylesheet-rendering plugin for various systems.
7
- # Currently Rails/ActionController and Merb are supported out of the box.
8
- module Plugin
9
- class << self
10
- @@options = {
11
- :css_location => './public/stylesheets',
12
- :always_update => false,
13
- :always_check => true,
14
- :full_exception => true
15
- }
16
- @@checked_for_updates = false
17
-
18
- # Whether or not Sass has *ever* checked if the stylesheets need updates
19
- # (in this Ruby instance).
20
- def checked_for_updates
21
- @@checked_for_updates
22
- end
23
-
24
- # Gets various options for Sass. See README.rdoc for details.
25
- #--
26
- # TODO: *DOCUMENT OPTIONS*
27
- #++
28
- def options
29
- @@options
30
- end
31
-
32
- # Sets various options for Sass.
33
- def options=(value)
34
- @@options.merge!(value)
35
- end
36
-
37
- # Get the options ready to be passed to the Sass::Engine
38
- def engine_options(additional_options = {})
39
- opts = options.dup.merge(additional_options)
40
- opts[:load_paths] = load_paths(opts)
41
- opts
42
- end
43
-
44
- # Checks each stylesheet in <tt>options[:css_location]</tt>
45
- # to see if it needs updating,
46
- # and updates it using the corresponding template
47
- # from <tt>options[:templates]</tt>
48
- # if it does.
49
- def update_stylesheets
50
- return if options[:never_update]
51
-
52
- @@checked_for_updates = true
53
- template_locations.zip(css_locations).each do |template_location, css_location|
54
-
55
- Dir.glob(File.join(template_location, "**", "*.sass")).each do |file|
56
- # Get the relative path to the file with no extension
57
- name = file.sub(template_location + "/", "")[0...-5]
58
-
59
- if !forbid_update?(name) && (options[:always_update] || stylesheet_needs_update?(name, template_location, css_location))
60
- update_stylesheet(name, template_location, css_location)
61
- end
62
- end
63
- end
64
- end
65
-
66
- private
67
-
68
- def update_stylesheet(name, template_location, css_location)
69
- css = css_filename(name, css_location)
70
- File.delete(css) if File.exists?(css)
71
-
72
- filename = template_filename(name, template_location)
73
- engine = Engine.new(File.read(filename), engine_options(:css_filename => css, :filename => filename))
74
- result = begin
75
- engine.render
76
- rescue Exception => e
77
- exception_string(e)
78
- end
79
-
80
- # Create any directories that might be necessary
81
- mkpath(css_location, name)
82
-
83
- # Finally, write the file
84
- File.open(css, 'w') do |file|
85
- file.print(result)
86
- end
87
- end
88
-
89
- # Create any successive directories required to be able to write a file to: File.join(base,name)
90
- def mkpath(base, name)
91
- dirs = [base]
92
- name.split(File::SEPARATOR)[0...-1].each { |dir| dirs << File.join(dirs[-1],dir) }
93
- dirs.each { |dir| Dir.mkdir(dir) unless File.exist?(dir) }
94
- end
95
-
96
- def load_paths(opts = options)
97
- (opts[:load_paths] || []) + template_locations
98
- end
99
-
100
- def template_locations
101
- location = (options[:template_location] || File.join(options[:css_location],'sass'))
102
- if location.is_a?(String)
103
- [location]
104
- else
105
- location.to_a.map { |l| l.first }
106
- end
107
- end
108
-
109
- def css_locations
110
- if options[:template_location] && !options[:template_location].is_a?(String)
111
- options[:template_location].to_a.map { |l| l.last }
112
- else
113
- [options[:css_location]]
114
- end
115
- end
116
-
117
- def exception_string(e)
118
- if options[:full_exception]
119
- e_string = "#{e.class}: #{e.message}"
120
-
121
- if e.is_a? Sass::SyntaxError
122
- e_string << "\non line #{e.sass_line}"
123
-
124
- if e.sass_filename
125
- e_string << " of #{e.sass_filename}"
126
-
127
- if File.exists?(e.sass_filename)
128
- e_string << "\n\n"
129
-
130
- min = [e.sass_line - 5, 0].max
131
- begin
132
- File.read(e.sass_filename).rstrip.split("\n")[
133
- min .. e.sass_line + 5
134
- ].each_with_index do |line, i|
135
- e_string << "#{min + i + 1}: #{line}\n"
136
- end
137
- rescue
138
- e_string << "Couldn't read sass file: #{e.sass_filename}"
139
- end
140
- end
141
- end
142
- end
143
- <<END
144
- /*
145
- #{e_string}
146
-
147
- Backtrace:\n#{e.backtrace.join("\n")}
148
- */
149
- body:before {
150
- white-space: pre;
151
- font-family: monospace;
152
- content: "#{e_string.gsub('"', '\"').gsub("\n", '\\A ')}"; }
153
- END
154
- # Fix an emacs syntax-highlighting hiccup: '
155
- else
156
- "/* Internal stylesheet error */"
157
- end
158
- end
159
-
160
- def template_filename(name, path)
161
- "#{path}/#{name}.sass"
162
- end
163
-
164
- def css_filename(name, path)
165
- "#{path}/#{name}.css"
166
- end
167
-
168
- def forbid_update?(name)
169
- name.sub(/^.*\//, '')[0] == ?_
170
- end
171
-
172
- def stylesheet_needs_update?(name, template_path, css_path)
173
- css_file = css_filename(name, css_path)
174
- template_file = template_filename(name, template_path)
175
- if !File.exists?(css_file)
176
- return true
177
- else
178
- css_mtime = File.mtime(css_file)
179
- File.mtime(template_file) > css_mtime ||
180
- dependencies(template_file).any?(&dependency_updated?(css_mtime))
181
- end
182
- end
183
-
184
- def dependency_updated?(css_mtime)
185
- lambda do |dep|
186
- File.mtime(dep) > css_mtime ||
187
- dependencies(dep).any?(&dependency_updated?(css_mtime))
188
- end
189
- end
190
-
191
- def dependencies(filename)
192
- File.readlines(filename).grep(/^@import /).map do |line|
193
- line[8..-1].split(',').map do |inc|
194
- Sass::Engine.find_file_to_import(inc.strip, [File.dirname(filename)] + load_paths)
195
- end
196
- end.flatten.grep(/\.sass$/)
197
- end
198
- end
199
- end
200
- end
201
-
202
- require 'sass/plugin/rails' if defined?(ActionController)
203
- require 'sass/plugin/merb' if defined?(Merb::Plugins)
@@ -1,56 +0,0 @@
1
- unless defined?(Sass::MERB_LOADED)
2
- Sass::MERB_LOADED = true
3
-
4
- version = Merb::VERSION.split('.').map { |n| n.to_i }
5
- if version[0] <= 0 && version[1] < 5
6
- root = MERB_ROOT
7
- env = MERB_ENV
8
- else
9
- root = Merb.root.to_s
10
- env = Merb.environment
11
- end
12
-
13
- Sass::Plugin.options.merge!(:template_location => root + '/public/stylesheets/sass',
14
- :css_location => root + '/public/stylesheets',
15
- :always_check => env != "production",
16
- :full_exception => env != "production")
17
- config = Merb::Plugins.config[:sass] || Merb::Plugins.config["sass"] || {}
18
-
19
- if defined? config.symbolize_keys!
20
- config.symbolize_keys!
21
- end
22
-
23
- Sass::Plugin.options.merge!(config)
24
-
25
- if version[0] > 0 || version[1] >= 9
26
-
27
- class Merb::Rack::Application # :nodoc:
28
- def call_with_sass(env)
29
- if !Sass::Plugin.checked_for_updates ||
30
- Sass::Plugin.options[:always_update] || Sass::Plugin.options[:always_check]
31
- Sass::Plugin.update_stylesheets
32
- end
33
-
34
- call_without_sass(env)
35
- end
36
- alias_method :call_without_sass, :call
37
- alias_method :call, :call_with_sass
38
- end
39
-
40
- else
41
-
42
- class MerbHandler # :nodoc:
43
- def process_with_sass(request, response)
44
- if !Sass::Plugin.checked_for_updates ||
45
- Sass::Plugin.options[:always_update] || Sass::Plugin.options[:always_check]
46
- Sass::Plugin.update_stylesheets
47
- end
48
-
49
- process_without_sass(request, response)
50
- end
51
- alias_method :process_without_sass, :process
52
- alias_method :process, :process_with_sass
53
- end
54
-
55
- end
56
- end
@@ -1,24 +0,0 @@
1
- unless defined?(Sass::RAILS_LOADED)
2
- Sass::RAILS_LOADED = true
3
-
4
- Sass::Plugin.options.merge!(:template_location => RAILS_ROOT + '/public/stylesheets/sass',
5
- :css_location => RAILS_ROOT + '/public/stylesheets',
6
- :always_check => RAILS_ENV != "production",
7
- :full_exception => RAILS_ENV != "production")
8
-
9
- # :stopdoc:
10
- module ActionController
11
- class Base
12
- alias_method :sass_old_process, :process
13
- def process(*args)
14
- if !Sass::Plugin.checked_for_updates ||
15
- Sass::Plugin.options[:always_update] || Sass::Plugin.options[:always_check]
16
- Sass::Plugin.update_stylesheets
17
- end
18
-
19
- sass_old_process(*args)
20
- end
21
- end
22
- end
23
- # :startdoc:
24
- end
@@ -1,51 +0,0 @@
1
- require 'readline'
2
-
3
- module Sass
4
- class Repl
5
- def initialize(options = {})
6
- @options = options
7
- end
8
-
9
- def run
10
- environment = Environment.new
11
- environment.set_var('important', Script::String.new('!important'))
12
- @line = 0
13
- loop do
14
- @line += 1
15
- unless text = Readline.readline('>> ')
16
- puts
17
- return
18
- end
19
-
20
- Readline::HISTORY << text
21
- parse_input(environment, text)
22
- end
23
- end
24
-
25
- private
26
-
27
- def parse_input(environment, text)
28
- case text
29
- when Script::MATCH
30
- name = $1
31
- guarded = $2 == '||='
32
- val = Script::Parser.parse($3, @line, text.size - $3.size)
33
-
34
- unless guarded && environment.var(name)
35
- environment.set_var(name, val.perform(environment))
36
- end
37
-
38
- p environment.var(name)
39
- else
40
- p Script::Parser.parse(text, @line, 0).perform(environment)
41
- end
42
- rescue Sass::SyntaxError => e
43
- puts "SyntaxError: #{e.message}"
44
- if @options[:trace]
45
- e.backtrace.each do |e|
46
- puts "\tfrom #{e}"
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,38 +0,0 @@
1
- require 'strscan'
2
- require 'sass/script/variable'
3
- require 'sass/script/funcall'
4
- require 'sass/script/operation'
5
- require 'sass/script/literal'
6
- require 'sass/script/parser'
7
-
8
- module Sass
9
- # This module contains various SassScript-related functionality.
10
- module Script
11
- # :stopdoc:
12
- # The character that begins a variable.
13
- VARIABLE_CHAR = ?!
14
-
15
- # The regular expression used to parse variables
16
- MATCH = /^!(\w+)\s*((?:\|\|)?=)\s*(.+)/
17
-
18
- # The regular expression used to validate variables without matching
19
- VALIDATE = /^!\w+$/
20
-
21
- def self.resolve(value, line, offset, environment)
22
- parse(value, line, offset).perform(environment).to_s
23
- end
24
-
25
- def self.parse(value, line, offset, filename = nil)
26
- Parser.parse(value, line, offset, filename)
27
- rescue Sass::SyntaxError => e
28
- if e.message == "SassScript error"
29
- e.instance_eval do
30
- @message += ": #{value.dump}."
31
- end
32
- end
33
- e.sass_line = line
34
- raise e
35
- end
36
- # :startdoc:
37
- end
38
- end