smurfville 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. data/README.md +22 -6
  2. data/Rakefile +1 -7
  3. data/app/assets/stylesheets/smurfville/application.css.sass +2 -2
  4. data/app/controllers/smurfville/styleguide_controller.rb +2 -2
  5. data/app/helpers/smurfville/styleguide_helper.rb +9 -1
  6. data/app/views/layouts/smurfville/application.html.erb +1 -2
  7. data/app/views/smurfville/styleguide/_color_var.html.haml +3 -3
  8. data/app/views/smurfville/styleguide/_typography_classes.erb +4 -0
  9. data/app/views/smurfville/styleguide/colors.html.haml +6 -8
  10. data/app/views/smurfville/styleguide/typography.html.haml +9 -5
  11. data/lib/smurfville.rb +1 -1
  12. data/lib/smurfville/color_variable_parser.rb +28 -33
  13. data/lib/smurfville/typography_parser.rb +6 -6
  14. data/lib/smurfville/version.rb +1 -1
  15. data/test/dummy/app/assets/stylesheets/_scss_partial.css.scss +1 -0
  16. data/test/dummy/app/assets/stylesheets/_typography.sass +49 -32
  17. data/test/dummy/app/assets/stylesheets/application.css.sass +5 -2
  18. data/test/dummy/config/initializers/smurfville.rb +1 -1
  19. data/test/dummy/log/development.log +3469 -63
  20. data/test/dummy/log/test.log +99 -498
  21. data/test/dummy/tmp/cache/assets/C55/E50/sprockets%2Fc7707635524d769f850d0052fd2626b4 +0 -0
  22. data/test/dummy/tmp/cache/assets/D05/E40/sprockets%2F6cd474670f7dd5f06041b6b25711eb0d +0 -0
  23. data/test/dummy/tmp/cache/assets/D41/DA0/sprockets%2F4fa8e1d6a63a13923b9196e76fec3a15 +0 -0
  24. data/test/dummy/tmp/cache/assets/D73/630/sprockets%2F78ad329b32ade44bbea292b9e05f9728 +0 -0
  25. data/test/dummy/tmp/cache/assets/E44/290/sprockets%2F3eb5e7d41dbddceae0faa1b02185fa15 +0 -0
  26. data/test/dummy/tmp/cache/assets/E93/8D0/sprockets%2F585cb1ceee30feaa7acf7b993f1fd6be +0 -0
  27. data/test/unit/color_variable_parser_test.rb +12 -42
  28. data/test/unit/helpers/smurf/styleguide_helper_test.rb +2 -2
  29. metadata +15 -10
  30. data/app/assets/stylesheets/smurfville/typography.css.sass.erb +0 -0
  31. data/lib/smurfville/sass_visitor.rb +0 -45
  32. data/test/dummy/tmp/pids/server.pid +0 -1
@@ -9,10 +9,10 @@ class ColorVariablesTest < ActiveSupport::TestCase
9
9
  parser.parse_variable_usage "#{File.dirname(__FILE__)}/sass/colors_01.sass"
10
10
 
11
11
  variable_counts = [
12
- ["$green", 2],
13
- ["$white", 2],
14
- ["$special", 4],
15
- ["$foo", nil]
12
+ ["green", 2],
13
+ ["white", 2],
14
+ ["special", 4],
15
+ ["foo", nil]
16
16
  ]
17
17
 
18
18
  variable_counts.each do |count_pair|
@@ -25,17 +25,16 @@ class ColorVariablesTest < ActiveSupport::TestCase
25
25
  parser.parse_sass_file "#{File.dirname(__FILE__)}/sass/colors_01.sass"
26
26
 
27
27
  assert_equal({
28
- "#008000" => ["$green"],
29
- "#ffffff" => ["$white", "$another-white"],
30
- "#000000" => ["$black"],
31
- "shade($special, 10%)" => ["$function-generated"]
28
+ "green" => { :variables => ["green"], :alternate_values=>["#008000"] },
29
+ "white" => { :variables => ["white", "another-white"], :alternate_values => ["#ffffff"] },
30
+ "black" => { :variables => ["black"], :alternate_values=>["#000000"] },
32
31
  }, parser.colors)
33
32
 
34
33
  assert_equal({
35
- "$white" => ["$light-color"],
36
- "$black" => ["$dark-color"],
37
- "$green" => ["$special"],
38
- "$special" => ["$more_special"]
34
+ "white" => ["light-color"],
35
+ "black" => ["dark-color"],
36
+ "green" => ["special"],
37
+ "special" => ["more_special"]
39
38
  }, parser.variable_mappings)
40
39
  end
41
40
 
@@ -47,33 +46,4 @@ class ColorVariablesTest < ActiveSupport::TestCase
47
46
  assert_equal 1, parser.print_variable_usage_count_for("$special")
48
47
  assert_equal 0, parser.print_variable_usage_count_for("$foo")
49
48
  end
50
-
51
- # ---- parse_color ----
52
-
53
- test "parse_color with valid colors" do
54
- equal_colors = [
55
- ["#000000", "#000"],
56
- ["#ff0000", "red"],
57
- ["#000000", "black"],
58
- ["#ffffff", "white"]
59
- ]
60
- equal_colors.each do |color_pair|
61
- assert_equal color_pair[0], Smurfville::ColorVariableParser.parse_color(color_pair[1]).html
62
- end
63
- end
64
-
65
- test "parse_color with invalid colors" do
66
- invalid_colors = [nil, "", true, "#0001", "gruen", "####", "#12", "#ffffff7", "(1, 2, 3)"] # didn't work: "#0xy000"
67
- invalid_colors.each do |color|
68
- assert_equal false, Smurfville::ColorVariableParser.parse_color(color)
69
- end
70
- end
71
-
72
- test 'is_sass_color_function?' do
73
- # real sass color functions
74
- assert Smurfville::ColorVariableParser.is_sass_color_function?("tint(#ccc, 27%)")
75
- assert Smurfville::ColorVariableParser.is_sass_color_function?("shade($other-color, 0%)")
76
- # other expressions
77
- assert !Smurfville::ColorVariableParser.is_sass_color_function?("13px + 37px")
78
- end
79
- end
49
+ end
@@ -6,17 +6,17 @@ module Smurfville
6
6
  class StyleguideHelperTest < ActionView::TestCase
7
7
  test 'foreground_color' do
8
8
  # dark colors
9
- assert_equal "white", foreground_color("red")
10
9
  assert_equal "white", foreground_color("#012123")
11
10
  assert_equal "white", foreground_color("#000")
12
11
 
13
12
  # bright colors
14
13
  assert_equal "black", foreground_color("#efefef")
15
14
  assert_equal "black", foreground_color("white")
15
+ assert_equal "black", foreground_color("red")
16
16
 
17
17
  # non-colors
18
18
  # => black = default
19
- assert_equal "black", foreground_color("türkis")
19
+ assert_equal "black", foreground_color("schmuddelgelb")
20
20
  assert_equal "black", foreground_color(nil)
21
21
  end
22
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smurfville
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-09-24 00:00:00.000000000 Z
14
+ date: 2013-02-17 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: color
@@ -36,7 +36,7 @@ dependencies:
36
36
  requirements:
37
37
  - - ~>
38
38
  - !ruby/object:Gem::Version
39
- version: '3.1'
39
+ version: '3.2'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,7 +44,7 @@ dependencies:
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '3.1'
47
+ version: '3.2'
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rails
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -88,6 +88,7 @@ extra_rdoc_files: []
88
88
  files:
89
89
  - app/views/smurfville/styleguide/typography.html.haml
90
90
  - app/views/smurfville/styleguide/colors.html.haml
91
+ - app/views/smurfville/styleguide/_typography_classes.erb
91
92
  - app/views/smurfville/styleguide/_color_var.html.haml
92
93
  - app/views/layouts/smurfville/application.html.erb
93
94
  - app/controllers/smurfville/application_controller.rb
@@ -97,12 +98,10 @@ files:
97
98
  - app/assets/images/smurfville/smurf.png
98
99
  - app/assets/javascripts/smurfville/application.js
99
100
  - app/assets/stylesheets/smurfville/application.css.sass
100
- - app/assets/stylesheets/smurfville/typography.css.sass.erb
101
101
  - config/routes.rb
102
102
  - lib/smurfville.rb
103
103
  - lib/smurfville/version.rb
104
104
  - lib/smurfville/color_variable_parser.rb
105
- - lib/smurfville/sass_visitor.rb
106
105
  - lib/smurfville/typography_parser.rb
107
106
  - lib/smurfville/engine.rb
108
107
  - lib/tasks/smurfville_tasks.rake
@@ -120,12 +119,15 @@ files:
120
119
  - test/dummy/app/controllers/application_controller.rb
121
120
  - test/dummy/app/helpers/application_helper.rb
122
121
  - test/dummy/app/assets/javascripts/application.js
122
+ - test/dummy/app/assets/stylesheets/_scss_partial.css.scss
123
123
  - test/dummy/app/assets/stylesheets/_typography.sass
124
124
  - test/dummy/app/assets/stylesheets/application.css.sass
125
- - test/dummy/tmp/pids/server.pid
126
125
  - test/dummy/tmp/cache/assets/C55/E50/sprockets%2Fc7707635524d769f850d0052fd2626b4
126
+ - test/dummy/tmp/cache/assets/D41/DA0/sprockets%2F4fa8e1d6a63a13923b9196e76fec3a15
127
127
  - test/dummy/tmp/cache/assets/D76/310/sprockets%2Fe637960fec03ed305c18c27e0ffbf676
128
128
  - test/dummy/tmp/cache/assets/D09/FD0/sprockets%2F18fa0451fff833061f0b9902baa4759c
129
+ - test/dummy/tmp/cache/assets/E93/8D0/sprockets%2F585cb1ceee30feaa7acf7b993f1fd6be
130
+ - test/dummy/tmp/cache/assets/E44/290/sprockets%2F3eb5e7d41dbddceae0faa1b02185fa15
129
131
  - test/dummy/tmp/cache/assets/D21/AE0/sprockets%2Fa4b75eade53b1f02d320bc720513a645
130
132
  - test/dummy/tmp/cache/assets/D73/630/sprockets%2F78ad329b32ade44bbea292b9e05f9728
131
133
  - test/dummy/tmp/cache/assets/DC2/3F0/sprockets%2Fe83ce5c8393ea833ad2a2eab114bd82c
@@ -172,7 +174,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
172
174
  version: '0'
173
175
  segments:
174
176
  - 0
175
- hash: 1352383566039874073
177
+ hash: 1558584876731474371
176
178
  required_rubygems_version: !ruby/object:Gem::Requirement
177
179
  none: false
178
180
  requirements:
@@ -181,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
183
  version: '0'
182
184
  segments:
183
185
  - 0
184
- hash: 1352383566039874073
186
+ hash: 1558584876731474371
185
187
  requirements: []
186
188
  rubyforge_project:
187
189
  rubygems_version: 1.8.24
@@ -201,12 +203,15 @@ test_files:
201
203
  - test/dummy/app/controllers/application_controller.rb
202
204
  - test/dummy/app/helpers/application_helper.rb
203
205
  - test/dummy/app/assets/javascripts/application.js
206
+ - test/dummy/app/assets/stylesheets/_scss_partial.css.scss
204
207
  - test/dummy/app/assets/stylesheets/_typography.sass
205
208
  - test/dummy/app/assets/stylesheets/application.css.sass
206
- - test/dummy/tmp/pids/server.pid
207
209
  - test/dummy/tmp/cache/assets/C55/E50/sprockets%2Fc7707635524d769f850d0052fd2626b4
210
+ - test/dummy/tmp/cache/assets/D41/DA0/sprockets%2F4fa8e1d6a63a13923b9196e76fec3a15
208
211
  - test/dummy/tmp/cache/assets/D76/310/sprockets%2Fe637960fec03ed305c18c27e0ffbf676
209
212
  - test/dummy/tmp/cache/assets/D09/FD0/sprockets%2F18fa0451fff833061f0b9902baa4759c
213
+ - test/dummy/tmp/cache/assets/E93/8D0/sprockets%2F585cb1ceee30feaa7acf7b993f1fd6be
214
+ - test/dummy/tmp/cache/assets/E44/290/sprockets%2F3eb5e7d41dbddceae0faa1b02185fa15
210
215
  - test/dummy/tmp/cache/assets/D21/AE0/sprockets%2Fa4b75eade53b1f02d320bc720513a645
211
216
  - test/dummy/tmp/cache/assets/D73/630/sprockets%2F78ad329b32ade44bbea292b9e05f9728
212
217
  - test/dummy/tmp/cache/assets/DC2/3F0/sprockets%2Fe83ce5c8393ea833ad2a2eab114bd82c
@@ -1,45 +0,0 @@
1
- module Smurfville
2
- class SassVisitor < Sass::Tree::Visitors::Base
3
-
4
- def visit_import(node)
5
- if path = node.css_import?
6
- return Sass::Tree::CssImportNode.resolved("url(#{path})")
7
- end
8
- file = node.imported_file
9
- handle_import_loop!(node) if @stack.any? {|e| e[:filename] == file.options[:filename]}
10
-
11
- @stack.push(:filename => node.filename, :line => node.line)
12
- root = file.to_tree
13
- Sass::Tree::Visitors::CheckNesting.visit(root)
14
- node.children = root.children.map {|c| visit(c)}.flatten
15
- node
16
- rescue Sass::SyntaxError => e
17
- e.modify_backtrace(:filename => node.imported_file.options[:filename])
18
- e.add_backtrace(:filename => node.filename, :line => node.line)
19
- raise e
20
- ensure
21
- @stack.pop unless path
22
- end
23
-
24
- protected
25
-
26
- def initialize
27
- # Stack trace information, including mixin includes and imports.
28
- @stack = []
29
- end
30
-
31
- def handle_import_loop!(node)
32
- msg = "An @import loop has been found:"
33
- files = @stack.map {|s| s[:filename]}.compact
34
- if node.filename == node.imported_file.options[:filename]
35
- raise Sass::SyntaxError.new("#{msg} #{node.filename} imports itself")
36
- end
37
-
38
- files << node.filename << node.imported_file.options[:filename]
39
- msg << "\n" << Sass::Util.enum_cons(files, 2).map do |m1, m2|
40
- " #{m1} imports #{m2}"
41
- end.join("\n")
42
- raise Sass::SyntaxError.new(msg)
43
- end
44
- end
45
- end
@@ -1 +0,0 @@
1
- 7109