csspool 3.0.0 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,17 @@
1
+ == 3.0.1
2
+
3
+ * New Features
4
+
5
+ * 'Minified' CSS output: passing :minify => true to a to_css call will omit
6
+ line breaks
7
+ * Added Gemfile
8
+
9
+ * Bugfixes
10
+
11
+ * Parse properties without semi-colons at the end of a declaration.
12
+ [stereobooster]
13
+ * Handle whitespaces after properties [stereobooster]
14
+
1
15
  == 3.0.0
2
16
 
3
17
  * New Features
data/README.rdoc CHANGED
@@ -40,7 +40,7 @@ $ sudo gem install rexical
40
40
 
41
41
  (The MIT License)
42
42
 
43
- Copyright (c) 2007-2009
43
+ Copyright (c) 2007-2012
44
44
 
45
45
  * {Aaron Patterson}[http://tenderlovemaking.com]
46
46
  * {John Barnette}[http://www.jbarnette.com/]
data/Rakefile CHANGED
@@ -7,6 +7,8 @@ GENERATED_TOKENIZER = "lib/csspool/css/tokenizer.rb"
7
7
  GENERATED_PARSER = "lib/csspool/css/parser.rb"
8
8
 
9
9
  Hoe.plugin :git
10
+ Hoe.plugin :bundler
11
+ Hoe.plugin :gemspec
10
12
 
11
13
  Hoe.spec('csspool') do
12
14
  developer('Aaron Patterson', 'aaronp@rubyforge.org')
@@ -15,12 +17,12 @@ Hoe.spec('csspool') do
15
17
  self.history_file = 'CHANGELOG.rdoc'
16
18
  self.extra_rdoc_files = FileList['*.rdoc']
17
19
 
18
- %w{ racc rexical }.each do |dep|
20
+ %w{racc rexical hoe-git hoe-gemspec hoe-bundler}.each do |dep|
19
21
  self.extra_dev_deps << [dep, '>= 0']
20
22
  end
21
23
  end
22
24
 
23
- [:test, :check_manifest].each do |task_name|
25
+ [:test, :check_manifest, "gem:spec"].each do |task_name|
24
26
  Rake::Task[task_name].prerequisites << :compile
25
27
  end
26
28
 
@@ -28,7 +30,7 @@ task :compile => [GENERATED_TOKENIZER, GENERATED_PARSER]
28
30
 
29
31
  file GENERATED_TOKENIZER => "lib/csspool/css/tokenizer.rex" do |t|
30
32
  begin
31
- sh "rex -i --independent -o #{t.name} #{t.prerequisites.first}"
33
+ sh "bundle exec rex -i --independent -o #{t.name} #{t.prerequisites.first}"
32
34
  rescue
33
35
  abort "need rexical, sudo gem install rexical"
34
36
  end
@@ -36,8 +38,7 @@ end
36
38
 
37
39
  file GENERATED_PARSER => "lib/csspool/css/parser.y" do |t|
38
40
  begin
39
- racc = `which racc`.strip
40
- racc = "#{::Config::CONFIG['bindir']}/racc" if racc.empty?
41
+ racc = 'bundle exec racc'
41
42
  #sh "#{racc} -l -o #{t.name} #{t.prerequisites.first}"
42
43
  sh "#{racc} -o #{t.name} #{t.prerequisites.first}"
43
44
  rescue
data/lib/csspool.rb CHANGED
@@ -13,7 +13,7 @@ require 'csspool/visitors'
13
13
  require 'csspool/collection'
14
14
 
15
15
  module CSSPool
16
- VERSION = "3.0.0"
16
+ VERSION = "3.0.1"
17
17
 
18
18
  def self.CSS doc
19
19
  CSSPool::CSS::Document.parse doc
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.4.7
3
+ # This file is automatically generated by Racc 1.4.8
4
4
  # from Racc grammer file "".
5
5
  #
6
6
 
@@ -9,7 +9,7 @@ module CSSPool
9
9
  module CSS
10
10
  class Parser < Racc::Parser
11
11
 
12
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 312)
12
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 317)
13
13
 
14
14
  def numeric thing
15
15
  thing = thing.gsub(/[^\d.]/, '')
@@ -50,122 +50,138 @@ end
50
50
  ##### State transition tables begin ###
51
51
 
52
52
  racc_action_table = [
53
- 13, 17, 41, 51, 22, 25, 60, 55, 121, 4,
54
- 6, 9, 13, 17, 79, 42, 22, 25, 83, 61,
55
- 62, 4, 6, 9, 46, 34, 13, 17, 35, 51,
56
- 22, 25, 8, 10, 14, 4, 6, 9, 77, 72,
57
- 6, 9, 22, 25, 8, 10, 14, 4, 6, 9,
58
- 22, 73, 47, 65, 66, 4, 6, 9, 8, 10,
59
- 14, 22, 25, 10, 14, 71, 4, 6, 9, 22,
60
- 25, 10, 14, 90, 4, 6, 9, 22, 25, 10,
61
- 14, 22, 4, 6, 9, 58, 4, 6, 9, 8,
62
- 10, 14, 56, 91, 6, 9, 65, 8, 10, 14,
63
- 117, 6, 9, 118, 119, 8, 10, 14, 120, 80,
64
- 10, 14, 101, 86, 105, 87, 126, 10, 14, 122,
65
- 94, 6, 9, 124, 10, 14, 84, 112, 85, 115,
66
- 123, 93, 96, 98, 100, 103, 106, 108, 111, 114,
67
- 116, 101, 40, 105, 10, 14, 75, 34, 76, 94,
68
- 6, 9, 67, 68, 69, 70, 112, 88, 115, 89,
69
- 93, 96, 98, 100, 103, 106, 108, 111, 114, 116,
70
- 101, 128, 105, 10, 14, 129, 130, 131, 94, 132,
71
- 37, 36, 31, 136, 3, 112, 136, 115, 140, 93,
72
- 96, 98, 100, 103, 106, 108, 111, 114, 116, 101,
73
- 141, 105, 110, 142, nil, nil, nil, 94, nil, nil,
74
- nil, nil, nil, nil, 112, nil, 115, nil, 93, 96,
75
- 98, 100, 103, 106, 108, 111, 114, 116, 101, nil,
76
- 105, nil, nil, nil, nil, nil, 94, nil, nil, nil,
77
- nil, nil, nil, 112, nil, 115, nil, 93, 96, 98,
78
- 100, 103, 106, 108, 111, 114, 116, 115, nil, 93,
79
- 96, 98, 100, 103, 106, 108, 111, 114 ]
53
+ 8, 9, 63, 48, 21, 15, 53, 45, 3, 22,
54
+ 27, 29, 8, 9, 75, 64, 21, 15, 48, 54,
55
+ 55, 22, 27, 29, 36, 84, 8, 9, 70, 83,
56
+ 21, 15, 13, 28, 30, 22, 27, 29, 85, 27,
57
+ 29, 82, 21, 74, 13, 28, 30, 22, 27, 29,
58
+ 21, 15, 37, 70, 71, 22, 27, 29, 13, 28,
59
+ 30, 21, 28, 30, 112, 73, 22, 27, 29, 21,
60
+ 15, 28, 30, 72, 22, 27, 29, 21, 15, 28,
61
+ 30, 69, 22, 27, 29, 27, 29, 21, 15, 119,
62
+ 28, 30, 22, 27, 29, 121, 65, 13, 28, 30,
63
+ 27, 29, 67, 42, 68, 13, 28, 30, 28, 30,
64
+ 99, 42, 111, 62, 43, 13, 28, 30, 97, 27,
65
+ 29, 27, 29, 28, 30, 96, 118, 110, 117, 101,
66
+ 109, 103, 102, 104, 105, 106, 107, 108, 98, 99,
67
+ 128, 111, 28, 30, 28, 30, 129, 97, 81, 78,
68
+ 79, 80, 130, 115, 96, 116, 110, 131, 101, 109,
69
+ 103, 102, 104, 105, 106, 107, 108, 98, 99, 132,
70
+ 111, 136, 114, 61, 113, 51, 97, 50, 137, 138,
71
+ 139, 140, 141, 96, 142, 110, 121, 101, 109, 103,
72
+ 102, 104, 105, 106, 107, 108, 98, 99, 34, 111,
73
+ 145, 123, 121, 31, 121, 97, nil, nil, 125, nil,
74
+ nil, nil, 96, nil, 110, 124, 101, 109, 103, 102,
75
+ 104, 105, 106, 107, 108, 98, 99, nil, 111, nil,
76
+ nil, nil, nil, nil, 97, nil, nil, nil, nil, nil,
77
+ nil, 96, nil, 110, nil, 101, 109, 103, 102, 104,
78
+ 105, 106, 107, 108, 98, 99, nil, 111, 88, nil,
79
+ nil, nil, nil, 97, nil, nil, nil, nil, nil, nil,
80
+ 96, nil, 110, nil, 101, 109, 103, 102, 104, 105,
81
+ 106, 107, 108, 98, 99, nil, 111, nil, nil, nil,
82
+ nil, nil, 97, nil, nil, nil, nil, nil, nil, 96,
83
+ nil, 110, nil, 101, 109, 103, 102, 104, 105, 106,
84
+ 107, 108, 98, 110, nil, 101, 109, 103, 102, 104,
85
+ 105, 106, 107, 108 ]
80
86
 
81
87
  racc_action_check = [
82
- 2, 2, 14, 21, 2, 2, 28, 21, 88, 2,
83
- 2, 2, 27, 27, 53, 14, 27, 27, 65, 28,
84
- 28, 27, 27, 27, 17, 8, 29, 29, 8, 52,
85
- 29, 29, 2, 2, 2, 29, 29, 29, 49, 42,
86
- 5, 5, 25, 25, 27, 27, 27, 25, 25, 25,
87
- 63, 42, 17, 33, 33, 63, 63, 63, 29, 29,
88
- 29, 12, 12, 5, 5, 40, 12, 12, 12, 19,
89
- 19, 25, 25, 72, 19, 19, 19, 16, 16, 63,
90
- 63, 58, 16, 16, 16, 26, 58, 58, 58, 12,
91
- 12, 12, 24, 74, 18, 18, 74, 19, 19, 19,
92
- 84, 15, 15, 85, 86, 16, 16, 16, 87, 54,
93
- 58, 58, 92, 69, 92, 69, 92, 18, 18, 89,
94
- 92, 11, 11, 92, 15, 15, 68, 92, 68, 92,
95
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
96
- 92, 127, 13, 127, 11, 11, 45, 45, 45, 127,
97
- 20, 20, 36, 36, 36, 36, 127, 70, 127, 70,
98
- 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
99
- 112, 95, 112, 20, 20, 99, 102, 104, 112, 107,
100
- 10, 9, 3, 113, 1, 112, 134, 112, 135, 112,
101
- 112, 112, 112, 112, 112, 112, 112, 112, 112, 80,
102
- 137, 80, 80, 139, nil, nil, nil, 80, nil, nil,
103
- nil, nil, nil, nil, 80, nil, 80, nil, 80, 80,
104
- 80, 80, 80, 80, 80, 80, 80, 80, 110, nil,
105
- 110, nil, nil, nil, nil, nil, 110, nil, nil, nil,
106
- nil, nil, nil, 110, nil, 110, nil, 110, 110, 110,
107
- 110, 110, 110, 110, 110, 110, 110, 109, nil, 109,
108
- 109, 109, 109, 109, 109, 109, 109, 109 ]
88
+ 6, 6, 30, 14, 6, 6, 18, 14, 1, 6,
89
+ 6, 6, 2, 2, 47, 30, 2, 2, 73, 18,
90
+ 18, 2, 2, 2, 9, 66, 5, 5, 66, 64,
91
+ 5, 5, 6, 6, 6, 5, 5, 5, 70, 23,
92
+ 23, 64, 52, 47, 2, 2, 2, 52, 52, 52,
93
+ 15, 15, 9, 41, 41, 15, 15, 15, 5, 5,
94
+ 5, 51, 23, 23, 75, 46, 51, 51, 51, 12,
95
+ 12, 52, 52, 44, 12, 12, 12, 10, 10, 15,
96
+ 15, 40, 10, 10, 10, 25, 25, 11, 11, 83,
97
+ 51, 51, 11, 11, 11, 87, 34, 12, 12, 12,
98
+ 26, 26, 35, 35, 35, 10, 10, 10, 25, 25,
99
+ 126, 13, 126, 29, 13, 11, 11, 11, 126, 19,
100
+ 19, 24, 24, 26, 26, 126, 80, 126, 80, 126,
101
+ 126, 126, 126, 126, 126, 126, 126, 126, 126, 136,
102
+ 90, 136, 19, 19, 24, 24, 92, 136, 62, 62,
103
+ 62, 62, 93, 79, 136, 79, 136, 94, 136, 136,
104
+ 136, 136, 136, 136, 136, 136, 136, 136, 112, 95,
105
+ 112, 112, 78, 28, 78, 17, 112, 16, 113, 114,
106
+ 115, 116, 117, 112, 118, 112, 122, 112, 112, 112,
107
+ 112, 112, 112, 112, 112, 112, 112, 89, 8, 89,
108
+ 133, 89, 135, 3, 147, 89, nil, nil, 89, nil,
109
+ nil, nil, 89, nil, 89, 89, 89, 89, 89, 89,
110
+ 89, 89, 89, 89, 89, 89, 88, nil, 88, nil,
111
+ nil, nil, nil, nil, 88, nil, nil, nil, nil, nil,
112
+ nil, 88, nil, 88, nil, 88, 88, 88, 88, 88,
113
+ 88, 88, 88, 88, 88, 74, nil, 74, 74, nil,
114
+ nil, nil, nil, 74, nil, nil, nil, nil, nil, nil,
115
+ 74, nil, 74, nil, 74, 74, 74, 74, 74, 74,
116
+ 74, 74, 74, 74, 96, nil, 96, nil, nil, nil,
117
+ nil, nil, 96, nil, nil, nil, nil, nil, nil, 96,
118
+ nil, 96, nil, 96, 96, 96, 96, 96, 96, 96,
119
+ 96, 96, 96, 100, nil, 100, 100, 100, 100, 100,
120
+ 100, 100, 100, 100 ]
109
121
 
110
122
  racc_action_pointer = [
111
- nil, 184, -2, 182, nil, 28, nil, nil, 19, 175,
112
- 174, 109, 55, 138, -4, 89, 71, 20, 82, 63,
113
- 138, -3, nil, nil, 83, 36, 77, 10, -1, 24,
114
- nil, nil, nil, 45, nil, nil, 138, nil, nil, nil,
115
- 60, nil, 33, nil, nil, 141, nil, nil, nil, 28,
116
- nil, nil, 23, 4, 73, nil, nil, nil, 75, nil,
117
- nil, nil, nil, 44, nil, 12, nil, nil, 122, 109,
118
- 153, nil, 55, nil, 88, nil, nil, nil, nil, nil,
119
- 195, nil, nil, nil, 86, 89, 90, 94, -6, 105,
120
- nil, nil, 108, nil, nil, 164, nil, nil, nil, 168,
121
- nil, nil, 169, nil, 170, nil, nil, 172, nil, 236,
122
- 224, nil, 166, 150, nil, nil, nil, nil, nil, nil,
123
- nil, nil, nil, nil, nil, nil, nil, 137, nil, nil,
124
- nil, nil, nil, nil, 153, 170, nil, 195, nil, 198,
125
- nil, nil, nil ]
123
+ nil, 8, 10, 203, nil, 24, -2, nil, 194, 20,
124
+ 71, 81, 63, 105, -3, 44, 168, 167, -1, 107,
125
+ nil, nil, nil, 27, 109, 73, 88, nil, 167, 107,
126
+ -4, nil, nil, nil, 91, 97, nil, nil, nil, nil,
127
+ 71, 45, nil, nil, 63, nil, 60, 7, nil, nil,
128
+ nil, 55, 36, nil, nil, nil, nil, nil, nil, nil,
129
+ nil, nil, 134, nil, 23, nil, 20, nil, nil, nil,
130
+ 32, nil, nil, 12, 251, 28, nil, nil, 168, 149,
131
+ 122, nil, nil, 71, nil, nil, nil, 62, 222, 193,
132
+ 133, nil, 139, 145, 150, 162, 280, nil, nil, nil,
133
+ 292, nil, nil, nil, nil, nil, nil, nil, nil, nil,
134
+ nil, nil, 164, 164, 165, 166, 167, 168, 170, nil,
135
+ nil, nil, 153, nil, nil, nil, 106, nil, nil, nil,
136
+ nil, nil, nil, 182, nil, 169, 135, nil, nil, nil,
137
+ nil, nil, nil, nil, nil, nil, nil, 171, nil ]
126
138
 
127
139
  racc_action_default = [
128
- -1, -99, -99, -99, -38, -35, -47, -36, -99, -99,
129
- -99, -39, -18, -99, -99, -40, -19, -99, -41, -99,
130
- -42, -99, -37, -2, -99, -99, -28, -5, -30, -6,
131
- -7, 143, -34, -99, -15, -22, -99, -48, -43, -16,
132
- -99, -56, -99, -44, -17, -99, -12, -13, -45, -99,
133
- -46, -65, -60, -99, -99, -24, -26, -25, -99, -3,
134
- -31, -32, -33, -99, -4, -99, -21, -55, -99, -99,
135
- -99, -8, -99, -57, -99, -10, -11, -20, -59, -23,
136
- -99, -27, -29, -14, -99, -99, -99, -99, -99, -99,
137
- -58, -9, -71, -87, -81, -72, -95, -73, -89, -74,
138
- -88, -85, -75, -90, -76, -98, -91, -77, -92, -99,
139
- -99, -93, -99, -64, -94, -96, -83, -50, -49, -51,
140
- -52, -54, -53, -67, -68, -70, -66, -99, -97, -84,
141
- -82, -80, -78, -86, -64, -99, -63, -99, -69, -99,
142
- -79, -61, -62 ]
140
+ -1, -102, -102, -102, -2, -5, -6, -7, -102, -102,
141
+ -18, -19, -102, -102, -102, -102, -102, -28, -30, -35,
142
+ -36, -37, -38, -39, -40, -41, -42, -47, -102, -102,
143
+ -102, 149, -3, -4, -102, -102, -12, -13, -16, -17,
144
+ -102, -102, -15, -22, -102, -24, -61, -102, -68, -25,
145
+ -26, -102, -102, -31, -32, -33, -34, -43, -44, -45,
146
+ -46, -48, -102, -56, -102, -8, -102, -10, -11, -20,
147
+ -102, -21, -23, -60, -102, -102, -27, -29, -102, -102,
148
+ -102, -55, -57, -102, -9, -14, -59, -67, -102, -74,
149
+ -75, -76, -77, -78, -79, -80, -102, -84, -86, -88,
150
+ -102, -90, -91, -92, -93, -94, -95, -96, -97, -98,
151
+ -99, -101, -102, -102, -102, -102, -102, -102, -102, -58,
152
+ -62, -66, -67, -69, -70, -71, -102, -73, -100, -87,
153
+ -85, -83, -81, -102, -89, -67, -102, -49, -50, -51,
154
+ -52, -53, -54, -63, -72, -82, -64, -67, -65 ]
143
155
 
144
156
  racc_goto_table = [
145
- 113, 33, 53, 137, 23, 32, 39, 81, 57, 82,
146
- 44, 38, 125, 49, 63, 43, 45, 2, 48, 1,
147
- 50, 127, 133, nil, 139, nil, nil, nil, nil, 59,
148
- 134, 64, 135, 78, nil, nil, nil, nil, 74, nil,
149
- nil, nil, nil, nil, nil, nil, nil, 138 ]
157
+ 87, 120, 41, 56, 44, 76, 49, 57, 58, 59,
158
+ 60, 77, 52, 4, 122, 127, 32, 33, 38, 39,
159
+ 40, 35, 133, 2, 66, 1, 126, 134, nil, nil,
160
+ nil, nil, nil, nil, nil, nil, 143, nil, 135, nil,
161
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 146,
162
+ nil, nil, 144, nil, nil, nil, nil, nil, nil, nil,
163
+ nil, 148, 147, 86 ]
150
164
 
151
165
  racc_goto_check = [
152
- 26, 8, 13, 27, 2, 19, 6, 14, 12, 15,
153
- 6, 19, 26, 6, 17, 19, 7, 3, 19, 1,
154
- 19, 28, 31, nil, 27, nil, nil, nil, nil, 2,
155
- 26, 2, 26, 13, nil, nil, nil, nil, 8, nil,
156
- nil, nil, nil, nil, nil, nil, nil, 26 ]
166
+ 26, 27, 8, 19, 13, 14, 12, 19, 19, 19,
167
+ 19, 15, 17, 2, 26, 26, 2, 2, 6, 6,
168
+ 6, 7, 26, 3, 8, 1, 28, 31, nil, nil,
169
+ nil, nil, nil, nil, nil, nil, 27, nil, 26, nil,
170
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 27,
171
+ nil, nil, 26, nil, nil, nil, nil, nil, nil, nil,
172
+ nil, 27, 26, 13 ]
157
173
 
158
174
  racc_goto_pointer = [
159
- nil, 19, 2, 17, nil, nil, -6, -1, -7, nil,
160
- nil, nil, -17, -19, -51, -54, nil, -14, nil, 0,
161
- nil, nil, nil, nil, nil, nil, -80, -110, -71, nil,
162
- nil, -87, nil, nil, nil, nil, nil ]
175
+ nil, 25, 11, 23, nil, nil, 8, 12, -11, nil,
176
+ nil, nil, -9, -10, -46, -41, nil, -6, nil, -16,
177
+ nil, nil, nil, nil, nil, nil, -74, -86, -63, nil,
178
+ nil, -73, nil, nil, nil, nil, nil ]
163
179
 
164
180
  racc_goto_default = [
165
- nil, nil, nil, nil, 27, 29, 30, nil, nil, 12,
166
- 16, 19, 21, nil, 24, 26, 28, nil, 5, 7,
167
- 11, 15, 18, 20, 52, 54, nil, nil, nil, 92,
168
- 95, 97, 99, 102, 104, 107, 109 ]
181
+ nil, nil, nil, nil, 5, 6, 7, nil, nil, 10,
182
+ 11, 12, 14, nil, 16, 17, 18, nil, 19, 20,
183
+ 23, 24, 25, 26, 46, 47, nil, nil, nil, 89,
184
+ 90, 91, 92, 93, 94, 95, 100 ]
169
185
 
170
186
  racc_reduce_table = [
171
187
  0, 0, :racc_error,
@@ -227,50 +243,53 @@ racc_reduce_table = [
227
243
  2, 60, :_reduce_56,
228
244
  3, 60, :_reduce_57,
229
245
  4, 60, :_reduce_58,
246
+ 3, 50, :_reduce_none,
230
247
  2, 50, :_reduce_none,
231
248
  1, 50, :_reduce_none,
232
- 5, 61, :_reduce_61,
233
- 6, 61, :_reduce_62,
234
- 1, 64, :_reduce_63,
235
- 0, 64, :_reduce_64,
236
- 1, 62, :_reduce_65,
249
+ 4, 61, :_reduce_62,
250
+ 5, 61, :_reduce_63,
251
+ 5, 61, :_reduce_64,
252
+ 6, 61, :_reduce_65,
253
+ 1, 64, :_reduce_66,
254
+ 0, 64, :_reduce_67,
255
+ 1, 62, :_reduce_68,
237
256
  1, 65, :_reduce_none,
238
257
  1, 65, :_reduce_none,
239
258
  1, 65, :_reduce_none,
240
- 3, 63, :_reduce_69,
241
- 2, 63, :_reduce_70,
242
- 1, 63, :_reduce_71,
259
+ 3, 63, :_reduce_72,
260
+ 2, 63, :_reduce_73,
261
+ 1, 63, :_reduce_74,
243
262
  1, 66, :_reduce_none,
244
263
  1, 66, :_reduce_none,
245
264
  1, 66, :_reduce_none,
246
265
  1, 66, :_reduce_none,
247
266
  1, 66, :_reduce_none,
248
267
  1, 66, :_reduce_none,
249
- 2, 72, :_reduce_78,
250
- 3, 72, :_reduce_79,
251
- 2, 71, :_reduce_80,
252
- 1, 71, :_reduce_81,
253
- 2, 70, :_reduce_82,
254
- 1, 70, :_reduce_83,
255
- 2, 69, :_reduce_84,
256
- 1, 69, :_reduce_85,
257
- 2, 68, :_reduce_86,
258
- 1, 68, :_reduce_87,
259
- 1, 68, :_reduce_88,
260
- 1, 68, :_reduce_89,
268
+ 2, 72, :_reduce_81,
269
+ 3, 72, :_reduce_82,
270
+ 2, 71, :_reduce_83,
271
+ 1, 71, :_reduce_84,
272
+ 2, 70, :_reduce_85,
273
+ 1, 70, :_reduce_86,
274
+ 2, 69, :_reduce_87,
275
+ 1, 69, :_reduce_88,
276
+ 2, 68, :_reduce_89,
261
277
  1, 68, :_reduce_90,
262
278
  1, 68, :_reduce_91,
263
279
  1, 68, :_reduce_92,
264
280
  1, 68, :_reduce_93,
265
281
  1, 68, :_reduce_94,
266
- 1, 73, :_reduce_95,
267
- 1, 73, :_reduce_96,
268
- 2, 67, :_reduce_97,
269
- 1, 67, :_reduce_98 ]
282
+ 1, 68, :_reduce_95,
283
+ 1, 68, :_reduce_96,
284
+ 1, 68, :_reduce_97,
285
+ 1, 73, :_reduce_98,
286
+ 1, 73, :_reduce_99,
287
+ 2, 67, :_reduce_100,
288
+ 1, 67, :_reduce_101 ]
270
289
 
271
- racc_reduce_n = 99
290
+ racc_reduce_n = 102
272
291
 
273
- racc_shift_n = 143
292
+ racc_shift_n = 149
274
293
 
275
294
  racc_token_table = {
276
295
  false => 0,
@@ -838,49 +857,65 @@ module_eval(<<'.,.,', 'parser.y', 201)
838
857
 
839
858
  # reduce 60 omitted
840
859
 
841
- module_eval(<<'.,.,', 'parser.y', 213)
842
- def _reduce_61(val, _values, result)
860
+ # reduce 61 omitted
861
+
862
+ module_eval(<<'.,.,', 'parser.y', 214)
863
+ def _reduce_62(val, _values, result)
843
864
  @handler.property val.first, val[2], val[3]
844
865
  result
845
866
  end
846
867
  .,.,
847
868
 
848
- module_eval(<<'.,.,', 'parser.y', 215)
849
- def _reduce_62(val, _values, result)
869
+ module_eval(<<'.,.,', 'parser.y', 216)
870
+ def _reduce_63(val, _values, result)
850
871
  @handler.property val.first, val[3], val[4]
851
872
  result
852
873
  end
853
874
  .,.,
854
875
 
855
876
  module_eval(<<'.,.,', 'parser.y', 218)
856
- def _reduce_63(val, _values, result)
877
+ def _reduce_64(val, _values, result)
878
+ @handler.property val.first, val[3], val[4]
879
+ result
880
+ end
881
+ .,.,
882
+
883
+ module_eval(<<'.,.,', 'parser.y', 220)
884
+ def _reduce_65(val, _values, result)
885
+ @handler.property val.first, val[4], val[5]
886
+ result
887
+ end
888
+ .,.,
889
+
890
+ module_eval(<<'.,.,', 'parser.y', 223)
891
+ def _reduce_66(val, _values, result)
857
892
  result = true
858
893
  result
859
894
  end
860
895
  .,.,
861
896
 
862
- module_eval(<<'.,.,', 'parser.y', 219)
863
- def _reduce_64(val, _values, result)
897
+ module_eval(<<'.,.,', 'parser.y', 224)
898
+ def _reduce_67(val, _values, result)
864
899
  result = false
865
900
  result
866
901
  end
867
902
  .,.,
868
903
 
869
- module_eval(<<'.,.,', 'parser.y', 222)
870
- def _reduce_65(val, _values, result)
904
+ module_eval(<<'.,.,', 'parser.y', 227)
905
+ def _reduce_68(val, _values, result)
871
906
  result = interpret_identifier val[0]
872
907
  result
873
908
  end
874
909
  .,.,
875
910
 
876
- # reduce 66 omitted
911
+ # reduce 69 omitted
877
912
 
878
- # reduce 67 omitted
913
+ # reduce 70 omitted
879
914
 
880
- # reduce 68 omitted
915
+ # reduce 71 omitted
881
916
 
882
- module_eval(<<'.,.,', 'parser.y', 231)
883
- def _reduce_69(val, _values, result)
917
+ module_eval(<<'.,.,', 'parser.y', 236)
918
+ def _reduce_72(val, _values, result)
884
919
  result = [val.first, val.last].flatten
885
920
  val.last.first.operator = val[1]
886
921
 
@@ -888,41 +923,41 @@ module_eval(<<'.,.,', 'parser.y', 231)
888
923
  end
889
924
  .,.,
890
925
 
891
- module_eval(<<'.,.,', 'parser.y', 234)
892
- def _reduce_70(val, _values, result)
926
+ module_eval(<<'.,.,', 'parser.y', 239)
927
+ def _reduce_73(val, _values, result)
893
928
  result = val.flatten
894
929
  result
895
930
  end
896
931
  .,.,
897
932
 
898
- module_eval(<<'.,.,', 'parser.y', 235)
899
- def _reduce_71(val, _values, result)
933
+ module_eval(<<'.,.,', 'parser.y', 240)
934
+ def _reduce_74(val, _values, result)
900
935
  result = val
901
936
  result
902
937
  end
903
938
  .,.,
904
939
 
905
- # reduce 72 omitted
906
-
907
- # reduce 73 omitted
908
-
909
- # reduce 74 omitted
910
-
911
940
  # reduce 75 omitted
912
941
 
913
942
  # reduce 76 omitted
914
943
 
915
944
  # reduce 77 omitted
916
945
 
917
- module_eval(<<'.,.,', 'parser.y', 246)
918
- def _reduce_78(val, _values, result)
946
+ # reduce 78 omitted
947
+
948
+ # reduce 79 omitted
949
+
950
+ # reduce 80 omitted
951
+
952
+ module_eval(<<'.,.,', 'parser.y', 251)
953
+ def _reduce_81(val, _values, result)
919
954
  result = val.first
920
955
  result
921
956
  end
922
957
  .,.,
923
958
 
924
- module_eval(<<'.,.,', 'parser.y', 248)
925
- def _reduce_79(val, _values, result)
959
+ module_eval(<<'.,.,', 'parser.y', 253)
960
+ def _reduce_82(val, _values, result)
926
961
  name = interpret_identifier val.first.sub(/\($/, '')
927
962
  if name == 'rgb'
928
963
  result = Terms::Rgb.new(*val[1])
@@ -934,50 +969,50 @@ module_eval(<<'.,.,', 'parser.y', 248)
934
969
  end
935
970
  .,.,
936
971
 
937
- module_eval(<<'.,.,', 'parser.y', 257)
938
- def _reduce_80(val, _values, result)
972
+ module_eval(<<'.,.,', 'parser.y', 262)
973
+ def _reduce_83(val, _values, result)
939
974
  result = val.first
940
975
  result
941
976
  end
942
977
  .,.,
943
978
 
944
- module_eval(<<'.,.,', 'parser.y', 258)
945
- def _reduce_81(val, _values, result)
979
+ module_eval(<<'.,.,', 'parser.y', 263)
980
+ def _reduce_84(val, _values, result)
946
981
  result = Terms::Hash.new val.first.sub(/^#/, '')
947
982
  result
948
983
  end
949
984
  .,.,
950
985
 
951
- module_eval(<<'.,.,', 'parser.y', 261)
952
- def _reduce_82(val, _values, result)
986
+ module_eval(<<'.,.,', 'parser.y', 266)
987
+ def _reduce_85(val, _values, result)
953
988
  result = val.first
954
989
  result
955
990
  end
956
991
  .,.,
957
992
 
958
- module_eval(<<'.,.,', 'parser.y', 262)
959
- def _reduce_83(val, _values, result)
993
+ module_eval(<<'.,.,', 'parser.y', 267)
994
+ def _reduce_86(val, _values, result)
960
995
  result = Terms::URI.new interpret_uri val.first
961
996
  result
962
997
  end
963
998
  .,.,
964
999
 
965
- module_eval(<<'.,.,', 'parser.y', 264)
966
- def _reduce_84(val, _values, result)
1000
+ module_eval(<<'.,.,', 'parser.y', 269)
1001
+ def _reduce_87(val, _values, result)
967
1002
  result = val.first
968
1003
  result
969
1004
  end
970
1005
  .,.,
971
1006
 
972
- module_eval(<<'.,.,', 'parser.y', 265)
973
- def _reduce_85(val, _values, result)
1007
+ module_eval(<<'.,.,', 'parser.y', 270)
1008
+ def _reduce_88(val, _values, result)
974
1009
  result = Terms::String.new interpret_string val.first
975
1010
  result
976
1011
  end
977
1012
  .,.,
978
1013
 
979
- module_eval(<<'.,.,', 'parser.y', 269)
980
- def _reduce_86(val, _values, result)
1014
+ module_eval(<<'.,.,', 'parser.y', 274)
1015
+ def _reduce_89(val, _values, result)
981
1016
  result = val[1]
982
1017
  val[1].unary_operator = val.first
983
1018
 
@@ -985,24 +1020,24 @@ module_eval(<<'.,.,', 'parser.y', 269)
985
1020
  end
986
1021
  .,.,
987
1022
 
988
- module_eval(<<'.,.,', 'parser.y', 273)
989
- def _reduce_87(val, _values, result)
1023
+ module_eval(<<'.,.,', 'parser.y', 278)
1024
+ def _reduce_90(val, _values, result)
990
1025
  result = Terms::Number.new numeric val.first
991
1026
 
992
1027
  result
993
1028
  end
994
1029
  .,.,
995
1030
 
996
- module_eval(<<'.,.,', 'parser.y', 276)
997
- def _reduce_88(val, _values, result)
1031
+ module_eval(<<'.,.,', 'parser.y', 281)
1032
+ def _reduce_91(val, _values, result)
998
1033
  result = Terms::Number.new numeric(val.first), nil, '%'
999
1034
 
1000
1035
  result
1001
1036
  end
1002
1037
  .,.,
1003
1038
 
1004
- module_eval(<<'.,.,', 'parser.y', 279)
1005
- def _reduce_89(val, _values, result)
1039
+ module_eval(<<'.,.,', 'parser.y', 284)
1040
+ def _reduce_92(val, _values, result)
1006
1041
  unit = val.first.gsub(/[\s\d.]/, '')
1007
1042
  result = Terms::Number.new numeric(val.first), nil, unit
1008
1043
 
@@ -1010,24 +1045,24 @@ module_eval(<<'.,.,', 'parser.y', 279)
1010
1045
  end
1011
1046
  .,.,
1012
1047
 
1013
- module_eval(<<'.,.,', 'parser.y', 283)
1014
- def _reduce_90(val, _values, result)
1048
+ module_eval(<<'.,.,', 'parser.y', 288)
1049
+ def _reduce_93(val, _values, result)
1015
1050
  result = Terms::Number.new numeric(val.first), nil, 'em'
1016
1051
 
1017
1052
  result
1018
1053
  end
1019
1054
  .,.,
1020
1055
 
1021
- module_eval(<<'.,.,', 'parser.y', 286)
1022
- def _reduce_91(val, _values, result)
1056
+ module_eval(<<'.,.,', 'parser.y', 291)
1057
+ def _reduce_94(val, _values, result)
1023
1058
  result = Terms::Number.new numeric(val.first), nil, 'ex'
1024
1059
 
1025
1060
  result
1026
1061
  end
1027
1062
  .,.,
1028
1063
 
1029
- module_eval(<<'.,.,', 'parser.y', 289)
1030
- def _reduce_92(val, _values, result)
1064
+ module_eval(<<'.,.,', 'parser.y', 294)
1065
+ def _reduce_95(val, _values, result)
1031
1066
  unit = val.first.gsub(/[\s\d.]/, '')
1032
1067
  result = Terms::Number.new numeric(val.first), nil, unit
1033
1068
 
@@ -1035,8 +1070,8 @@ module_eval(<<'.,.,', 'parser.y', 289)
1035
1070
  end
1036
1071
  .,.,
1037
1072
 
1038
- module_eval(<<'.,.,', 'parser.y', 293)
1039
- def _reduce_93(val, _values, result)
1073
+ module_eval(<<'.,.,', 'parser.y', 298)
1074
+ def _reduce_96(val, _values, result)
1040
1075
  unit = val.first.gsub(/[\s\d.]/, '')
1041
1076
  result = Terms::Number.new numeric(val.first), nil, unit
1042
1077
 
@@ -1044,8 +1079,8 @@ module_eval(<<'.,.,', 'parser.y', 293)
1044
1079
  end
1045
1080
  .,.,
1046
1081
 
1047
- module_eval(<<'.,.,', 'parser.y', 297)
1048
- def _reduce_94(val, _values, result)
1082
+ module_eval(<<'.,.,', 'parser.y', 302)
1083
+ def _reduce_97(val, _values, result)
1049
1084
  unit = val.first.gsub(/[\s\d.]/, '')
1050
1085
  result = Terms::Number.new numeric(val.first), nil, unit
1051
1086
 
@@ -1053,29 +1088,29 @@ module_eval(<<'.,.,', 'parser.y', 297)
1053
1088
  end
1054
1089
  .,.,
1055
1090
 
1056
- module_eval(<<'.,.,', 'parser.y', 302)
1057
- def _reduce_95(val, _values, result)
1091
+ module_eval(<<'.,.,', 'parser.y', 307)
1092
+ def _reduce_98(val, _values, result)
1058
1093
  result = :minus
1059
1094
  result
1060
1095
  end
1061
1096
  .,.,
1062
1097
 
1063
- module_eval(<<'.,.,', 'parser.y', 303)
1064
- def _reduce_96(val, _values, result)
1098
+ module_eval(<<'.,.,', 'parser.y', 308)
1099
+ def _reduce_99(val, _values, result)
1065
1100
  result = :plus
1066
1101
  result
1067
1102
  end
1068
1103
  .,.,
1069
1104
 
1070
- module_eval(<<'.,.,', 'parser.y', 306)
1071
- def _reduce_97(val, _values, result)
1105
+ module_eval(<<'.,.,', 'parser.y', 311)
1106
+ def _reduce_100(val, _values, result)
1072
1107
  result = val.first
1073
1108
  result
1074
1109
  end
1075
1110
  .,.,
1076
1111
 
1077
- module_eval(<<'.,.,', 'parser.y', 307)
1078
- def _reduce_98(val, _values, result)
1112
+ module_eval(<<'.,.,', 'parser.y', 312)
1113
+ def _reduce_101(val, _values, result)
1079
1114
  result = Terms::Ident.new interpret_identifier val.first
1080
1115
  result
1081
1116
  end
@@ -206,14 +206,19 @@ rule
206
206
  }
207
207
  ;
208
208
  declarations
209
- : declaration declarations
209
+ : declaration SEMI declarations
210
+ | declaration SEMI
210
211
  | declaration
211
212
  ;
212
213
  declaration
213
- : property ':' expr prio SEMI
214
+ : property ':' expr prio
214
215
  { @handler.property val.first, val[2], val[3] }
215
- | property ':' S expr prio SEMI
216
+ | property ':' S expr prio
216
217
  { @handler.property val.first, val[3], val[4] }
218
+ | property S ':' expr prio
219
+ { @handler.property val.first, val[3], val[4] }
220
+ | property S ':' S expr prio
221
+ { @handler.property val.first, val[4], val[5] }
217
222
  ;
218
223
  prio
219
224
  : IMPORTANT_SYM { result = true }
data/lib/csspool/node.rb CHANGED
@@ -6,11 +6,19 @@ module CSSPool
6
6
  target.accept self
7
7
  end
8
8
 
9
- def to_css
10
- accept Visitors::ToCSS.new
9
+ def to_css options={}
10
+ if options[:minify]
11
+ to_minified_css
12
+ else
13
+ accept Visitors::ToCSS.new
14
+ end
11
15
  end
12
16
  alias :to_s :to_css
13
17
 
18
+ def to_minified_css
19
+ accept Visitors::ToMinifiedCSS.new
20
+ end
21
+
14
22
  def == other
15
23
  return false unless self.class == other.class
16
24
 
@@ -14,7 +14,7 @@ module CSSPool
14
14
 
15
15
  def initialize
16
16
  @indent_level = 0
17
- @indent_space = ' '
17
+ @indent_space = indent_space
18
18
  end
19
19
 
20
20
  visitor_for CSS::Document do |target|
@@ -48,7 +48,7 @@ module CSSPool
48
48
  tokens << "#{indent}}"
49
49
  end
50
50
  }
51
- tokens.join("\n")
51
+ tokens.join(line_break)
52
52
  end
53
53
 
54
54
  visitor_for CSS::Charset do |target|
@@ -66,9 +66,9 @@ module CSSPool
66
66
 
67
67
  visitor_for CSS::RuleSet do |target|
68
68
  "#{indent}" +
69
- target.selectors.map { |sel| sel.accept self }.join(", ") + " {\n" +
70
- target.declarations.map { |decl| decl.accept self }.join("\n") +
71
- "\n#{indent}}"
69
+ target.selectors.map { |sel| sel.accept self }.join(", ") + " {#{line_break}" +
70
+ target.declarations.map { |decl| decl.accept self }.join(line_break) +
71
+ "#{line_break}#{indent}}"
72
72
  end
73
73
 
74
74
  visitor_for CSS::Declaration do |target|
@@ -197,6 +197,14 @@ module CSSPool
197
197
  "#{@indent_space * @indent_level}"
198
198
  end
199
199
 
200
+ def line_break
201
+ "\n"
202
+ end
203
+
204
+ def indent_space
205
+ ' '
206
+ end
207
+
200
208
  def escape_css_identifier text
201
209
  # CSS2 4.1.3 p2
202
210
  unsafe_chars = /[#{Regexp.escape CSS_IDENTIFIER_ILLEGAL_CHARACTERS}]/
@@ -213,5 +221,21 @@ module CSSPool
213
221
  text.gsub(/[\\"\n\r\f]/) {CSS_STRING_ESCAPE_MAP[$&]}
214
222
  end
215
223
  end
224
+
225
+ class ToMinifiedCSS < ToCSS
226
+ def line_break
227
+ ""
228
+ end
229
+
230
+ def indent_space
231
+ ' '
232
+ end
233
+
234
+ visitor_for CSS::RuleSet do |target|
235
+ target.selectors.map { |sel| sel.accept self }.join(", ") + " {" +
236
+ target.declarations.map { |decl| decl.accept self }.join +
237
+ " }"
238
+ end
239
+ end
216
240
  end
217
241
  end
data/test/test_parser.rb CHANGED
@@ -87,5 +87,25 @@ module CSSPool
87
87
  eocss
88
88
  assert_match('foo(1, 2)', doc.to_css)
89
89
  end
90
+
91
+ def test_missing_semicolon
92
+ doc = CSSPool.CSS <<-eocss
93
+ div { border: none }
94
+ eocss
95
+ assert_match('none', doc.to_css)
96
+ doc = CSSPool.CSS <<-eocss
97
+ div { border: none; background: #fff }
98
+ eocss
99
+ assert_match('none', doc.to_css)
100
+ assert_match('#fff', doc.to_css)
101
+ end
102
+
103
+ def test_whitespaces
104
+ doc = CSSPool.CSS <<-eocss
105
+ div { border : none; }
106
+ eocss
107
+ assert_match('none', doc.to_css)
108
+ assert_match('border:', doc.to_css)
109
+ end
90
110
  end
91
111
  end
@@ -260,6 +260,35 @@ module CSSPool
260
260
  assert_equal output, node.to_css
261
261
  end
262
262
  end
263
+
264
+ def test_minification
265
+ rawCSS = <<-eocss
266
+ p {
267
+ font: foo;
268
+ color: #f00;
269
+ }
270
+ eocss
271
+
272
+ doc = CSSPool.CSS rawCSS
273
+ parsed_doc = doc.to_minified_css
274
+
275
+ assert_equal "p { font: foo; color: #f00; }", parsed_doc
276
+ end
277
+
278
+ def test_minification_alt
279
+ rawCSS = <<-eocss
280
+ p {
281
+ font: foo;
282
+ color: #f00;
283
+ }
284
+ eocss
285
+
286
+ doc = CSSPool.CSS rawCSS
287
+ parsed_doc = doc.to_css :minify => true
288
+
289
+ assert_equal "p { font: foo; color: #f00; }", parsed_doc
290
+ end
291
+
263
292
  end
264
293
  end
265
294
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csspool
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-02-14 00:00:00.000000000 Z
13
+ date: 2012-05-18 00:00:00.000000000 Z
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rdoc
17
+ requirement: &70178736571580 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: '3.10'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: *70178736571580
15
26
  - !ruby/object:Gem::Dependency
16
27
  name: racc
17
- requirement: &70169574084020 !ruby/object:Gem::Requirement
28
+ requirement: &70178736571000 !ruby/object:Gem::Requirement
18
29
  none: false
19
30
  requirements:
20
31
  - - ! '>='
@@ -22,10 +33,10 @@ dependencies:
22
33
  version: '0'
23
34
  type: :development
24
35
  prerelease: false
25
- version_requirements: *70169574084020
36
+ version_requirements: *70178736571000
26
37
  - !ruby/object:Gem::Dependency
27
38
  name: rexical
28
- requirement: &70169574081520 !ruby/object:Gem::Requirement
39
+ requirement: &70178736570560 !ruby/object:Gem::Requirement
29
40
  none: false
30
41
  requirements:
31
42
  - - ! '>='
@@ -33,29 +44,51 @@ dependencies:
33
44
  version: '0'
34
45
  type: :development
35
46
  prerelease: false
36
- version_requirements: *70169574081520
47
+ version_requirements: *70178736570560
37
48
  - !ruby/object:Gem::Dependency
38
- name: rdoc
39
- requirement: &70169574065400 !ruby/object:Gem::Requirement
49
+ name: hoe-git
50
+ requirement: &70178736586440 !ruby/object:Gem::Requirement
40
51
  none: false
41
52
  requirements:
42
- - - ~>
53
+ - - ! '>='
43
54
  - !ruby/object:Gem::Version
44
- version: '3.10'
55
+ version: '0'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *70178736586440
59
+ - !ruby/object:Gem::Dependency
60
+ name: hoe-gemspec
61
+ requirement: &70178736585440 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *70178736585440
70
+ - !ruby/object:Gem::Dependency
71
+ name: hoe-bundler
72
+ requirement: &70178736584560 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
45
78
  type: :development
46
79
  prerelease: false
47
- version_requirements: *70169574065400
80
+ version_requirements: *70178736584560
48
81
  - !ruby/object:Gem::Dependency
49
82
  name: hoe
50
- requirement: &70169574053500 !ruby/object:Gem::Requirement
83
+ requirement: &70178736583940 !ruby/object:Gem::Requirement
51
84
  none: false
52
85
  requirements:
53
86
  - - ~>
54
87
  - !ruby/object:Gem::Version
55
- version: '2.12'
88
+ version: '3.0'
56
89
  type: :development
57
90
  prerelease: false
58
- version_requirements: *70169574053500
91
+ version_requirements: *70178736583940
59
92
  description: ! 'CSSPool is a CSS parser. CSSPool provides a SAC interface for parsing
60
93
  CSS as
61
94
 
@@ -66,8 +99,8 @@ email:
66
99
  executables: []
67
100
  extensions: []
68
101
  extra_rdoc_files:
69
- - Manifest.txt
70
102
  - CHANGELOG.rdoc
103
+ - Manifest.txt
71
104
  - README.rdoc
72
105
  files:
73
106
  - .autotest
@@ -155,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
188
  version: '0'
156
189
  requirements: []
157
190
  rubyforge_project: csspool
158
- rubygems_version: 1.8.11
191
+ rubygems_version: 1.8.17
159
192
  signing_key:
160
193
  specification_version: 3
161
194
  summary: CSSPool is a CSS parser