r2 0.2.4 → 0.2.5
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.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/lib/r2.rb +28 -1
- data/lib/r2/version.rb +1 -1
- data/spec/r2_spec.rb +21 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5ab6e294013e8786fc50aae34d70baa7a62f10b
|
4
|
+
data.tar.gz: a8b49f9b4b9407050145114607f23c7d391c3a6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3950af1429c22b800a0c94a297ee427b95c125dbc806f516c946f3f3c1855d3ff8a08f6adc01c7515f02e66f32e793243efe48ed558fb718ffaf65140efe086
|
7
|
+
data.tar.gz: b36f3c6a247163831b299922ba4114067b5052eaef920cd03f51c008fa9c94f6f76e7c60d3c9217573f1134a12c68463e1ba2d45390fb1b8b985c1dcf720585c
|
data/README.md
CHANGED
@@ -23,6 +23,7 @@ Report bugs in the github project at http://github.com/mzsanford/r2rb
|
|
23
23
|
|
24
24
|
## Change Log
|
25
25
|
|
26
|
+
* v0.2.5 - Handle `background:` shorthand
|
26
27
|
* v0.2.4 - Handle `url()` properties better
|
27
28
|
* [BUG] - Handle `url()` without embedded semi-colons and with trailing parameters
|
28
29
|
* v0.2.3 - Handle `url()` properties better
|
data/lib/r2.rb
CHANGED
@@ -62,7 +62,8 @@ module R2
|
|
62
62
|
'-moz-box-shadow' => lambda {|obj,val| obj.shadow_swap(val) },
|
63
63
|
'direction' => lambda {|obj,val| obj.direction_swap(val) },
|
64
64
|
'clear' => lambda {|obj,val| obj.side_swap(val) },
|
65
|
-
'background-position' => lambda {|obj,val| obj.background_position_swap(val) }
|
65
|
+
'background-position' => lambda {|obj,val| obj.background_position_swap(val) },
|
66
|
+
'background' => lambda {|obj,val| obj.background_swap(val) },
|
66
67
|
}
|
67
68
|
|
68
69
|
# Given a String of CSS perform the full directionality change
|
@@ -173,6 +174,32 @@ module R2
|
|
173
174
|
ShadowFlipper::flip(val)
|
174
175
|
end
|
175
176
|
|
177
|
+
# Given the short-hand background: definition attempt to convert the direction.
|
178
|
+
def background_swap(val)
|
179
|
+
parts = val.split(/ /)
|
180
|
+
|
181
|
+
checked = []
|
182
|
+
skip = false
|
183
|
+
parts.each_index do |i|
|
184
|
+
p = parts[i]
|
185
|
+
n = parts[i+1]
|
186
|
+
|
187
|
+
if skip
|
188
|
+
skip = false
|
189
|
+
next
|
190
|
+
end
|
191
|
+
|
192
|
+
if p.match(/left|right|\d+%/)
|
193
|
+
checked << background_position_swap("#{p} #{n}")
|
194
|
+
skip = true
|
195
|
+
else
|
196
|
+
checked << side_swap(p)
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
checked.flatten.join(' ')
|
201
|
+
end
|
202
|
+
|
176
203
|
|
177
204
|
# Border radius uses top-left, top-right, bottom-left, bottom-right, so all values need to be swapped. Additionally,
|
178
205
|
# two and three value border-radius declarations need to be swapped as well. Vertical radius, specified with a /,
|
data/lib/r2/version.rb
CHANGED
data/spec/r2_spec.rb
CHANGED
@@ -55,6 +55,27 @@ describe R2::Swapper do
|
|
55
55
|
flipped_css.should == expected_result
|
56
56
|
end
|
57
57
|
|
58
|
+
# background: #000 url("spree/frontend/cart.png") no-repeat left center;
|
59
|
+
it "handles background with position declarations" do
|
60
|
+
css = <<-EOS
|
61
|
+
.bg1 {
|
62
|
+
background: #000 url("spree/frontend/cart.png") no-repeat left center;
|
63
|
+
}
|
64
|
+
.bg2 {
|
65
|
+
background: #000 url("spree/frontend/cart.png") no-repeat 1% 50%;
|
66
|
+
}
|
67
|
+
EOS
|
68
|
+
|
69
|
+
expected_result = '.bg1{background:#000 url("spree/frontend/cart.png") no-repeat right center;}'
|
70
|
+
expected_result += '.bg2{background:#000 url("spree/frontend/cart.png") no-repeat 99% 50%;}';
|
71
|
+
|
72
|
+
flipped_css = r2.r2(css)
|
73
|
+
|
74
|
+
flipped_css.should == expected_result
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
|
58
79
|
it "handles SVG background-image declarations" do
|
59
80
|
escaped_xml = "%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E"
|
60
81
|
css = <<-EOS
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Sanford
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|