css 0.0.2 → 0.0.3
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/lib/css.rb +1 -1
- data/lib/css/property.rb +4 -0
- data/lib/css/rule.rb +21 -0
- data/lib/css/rule_set.rb +7 -1
- metadata +3 -3
data/lib/css.rb
CHANGED
data/lib/css/property.rb
CHANGED
data/lib/css/rule.rb
CHANGED
@@ -43,6 +43,27 @@ module CSS
|
|
43
43
|
"#{selector}{#{to_s}}"
|
44
44
|
end
|
45
45
|
|
46
|
+
def has_one_property?(*property_names)
|
47
|
+
property_names.any?{ |property_name| has_property?(property_name) }
|
48
|
+
end
|
49
|
+
|
50
|
+
def has_property?(property_name)
|
51
|
+
property_name = normalize_property_name(property_name)
|
52
|
+
if property_name =~ /-/
|
53
|
+
property_name_parts = property_name.split('-')
|
54
|
+
pname = property_name_parts.shift
|
55
|
+
property = nil
|
56
|
+
while property_name_parts.size > 0
|
57
|
+
property = get(pname)
|
58
|
+
break unless property.nil?
|
59
|
+
pname = [pname, property_name_parts.shift].join('-')
|
60
|
+
end
|
61
|
+
property.has_property?(property_name_parts.shift)
|
62
|
+
else
|
63
|
+
properties.include?(property_name)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
46
67
|
def method_missing(method_name, *args)
|
47
68
|
property_name = normalize_property_name(method_name)
|
48
69
|
if property_name =~ /-/
|
data/lib/css/rule_set.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
+
require 'set'
|
2
|
+
|
1
3
|
module CSS
|
2
4
|
class RuleSet
|
3
5
|
def initialize
|
4
|
-
@selectors =
|
6
|
+
@selectors = Set.new
|
5
7
|
@rules = {}
|
6
8
|
end
|
7
9
|
|
@@ -22,6 +24,10 @@ module CSS
|
|
22
24
|
@selectors
|
23
25
|
end
|
24
26
|
|
27
|
+
def rules
|
28
|
+
selectors.map { |selector| @rules[selector] }
|
29
|
+
end
|
30
|
+
|
25
31
|
def to_style
|
26
32
|
rules = []
|
27
33
|
selectors.each do |selector|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: css
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Andrew Timberlake
|