rtlize 0.1.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +1 -1
- data/Rakefile +6 -0
- data/lib/rtlize/rtlizer.rb +49 -7
- data/lib/rtlize/version.rb +1 -1
- data/test/dummy/log/development.log +2 -5
- data/test/dummy/log/test.log +1595 -3
- data/test/unit/rtlizer_test.rb +48 -0
- metadata +11 -7
- data/test/dummy/db/development.sqlite3 +0 -0
data/README.rdoc
CHANGED
@@ -8,7 +8,7 @@ RTLize is a rails plugin that semi-automatically allows you to use the same styl
|
|
8
8
|
|
9
9
|
To add RTLize to your Rails application, all you need to do is add the following line to your Gemfile:
|
10
10
|
|
11
|
-
gem 'rtlize'
|
11
|
+
gem 'rtlize'
|
12
12
|
|
13
13
|
Then run `bundle install` and you'll be all set.
|
14
14
|
|
data/Rakefile
CHANGED
data/lib/rtlize/rtlizer.rb
CHANGED
@@ -44,6 +44,8 @@ module Rtlize
|
|
44
44
|
'border-width' => :quad,
|
45
45
|
'padding' => :quad,
|
46
46
|
'margin' => :quad,
|
47
|
+
'clip' => :rect,
|
48
|
+
'cursor' => :cursor,
|
47
49
|
'text-align' => :rtltr,
|
48
50
|
'float' => :rtltr,
|
49
51
|
'clear' => :rtltr,
|
@@ -51,9 +53,13 @@ module Rtlize
|
|
51
53
|
'border-radius' => :quad_radius,
|
52
54
|
'-webkit-border-radius' => :quad_radius,
|
53
55
|
'-moz-border-radius' => :quad_radius,
|
54
|
-
'box-shadow' => :
|
55
|
-
'-webkit-box-shadow' => :
|
56
|
-
'-moz-box-shadow' => :
|
56
|
+
'box-shadow' => :shadow,
|
57
|
+
'-webkit-box-shadow' => :shadow,
|
58
|
+
'-moz-box-shadow' => :shadow,
|
59
|
+
'text-shadow' => :shadow,
|
60
|
+
'-webkit-text-shadow' => :shadow,
|
61
|
+
'-moz-text-shadow' => :shadow,
|
62
|
+
'rotation' => :deg,
|
57
63
|
}
|
58
64
|
|
59
65
|
class << self
|
@@ -114,6 +120,17 @@ module Rtlize
|
|
114
120
|
v == 'ltr' ? 'rtl' : v == 'rtl' ? 'ltr' : v
|
115
121
|
end
|
116
122
|
|
123
|
+
def rect(v)
|
124
|
+
if v.match(/rect\([^)]*\)/)
|
125
|
+
v.gsub(/\([^)]*\)/) do |m|
|
126
|
+
parts = m.gsub(/[()]/, '').split(',').map(&:strip)
|
127
|
+
"(#{parts[0]}, #{parts[3]}, #{parts[2]}, #{parts[1]})"
|
128
|
+
end
|
129
|
+
else
|
130
|
+
v
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
117
134
|
def quad(v)
|
118
135
|
# 1px 2px 3px 4px => 1px 4px 3px 2px
|
119
136
|
m = v.split(/\s+/)
|
@@ -134,21 +151,46 @@ module Rtlize
|
|
134
151
|
end
|
135
152
|
end
|
136
153
|
|
137
|
-
def
|
154
|
+
def cursor(v)
|
155
|
+
if v.match(/^[ns]?e-resize$/)
|
156
|
+
v.gsub(/e-resize/, 'w-resize')
|
157
|
+
elsif v.match(/^[ns]?w-resize$/)
|
158
|
+
v.gsub(/w-resize/, 'e-resize')
|
159
|
+
else
|
160
|
+
v
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
def shadow(v)
|
138
165
|
found = false
|
139
|
-
v.gsub(/rgba\([^)]*\)
|
166
|
+
v.gsub(/rgba\([^)]*\)|,|#[0-9A-Fa-f]*|[-0-9.px]+/) do |m|
|
140
167
|
if m == ","
|
141
168
|
# this property can take several comma-seperated values, we account for that, and transform each one correctly.
|
142
169
|
found = false
|
143
170
|
m
|
144
|
-
elsif m.match(/rgba\([^)]*\)
|
171
|
+
elsif m.match(/rgba\([^)]*\)|#[0-9A-Fa-f]*/) || found
|
145
172
|
m
|
146
173
|
else
|
147
174
|
found = true
|
148
|
-
m.
|
175
|
+
if m.to_f.zero?
|
176
|
+
m
|
177
|
+
else
|
178
|
+
m.chars.first == '-' ? m[1..-1] : '-' + m
|
179
|
+
end
|
149
180
|
end
|
150
181
|
end
|
151
182
|
end
|
183
|
+
|
184
|
+
def deg(v)
|
185
|
+
if v == '0'
|
186
|
+
v
|
187
|
+
else
|
188
|
+
old_angle = v.to_f
|
189
|
+
new_angle = 360 - old_angle
|
190
|
+
new_angle = new_angle.to_i if new_angle == new_angle.to_i # If it's an integer, write it without a decimal part.
|
191
|
+
v.gsub(/[0-9.]+/, new_angle.to_s)
|
192
|
+
end
|
193
|
+
end
|
152
194
|
end
|
153
195
|
end
|
154
196
|
end
|
data/lib/rtlize/version.rb
CHANGED
@@ -1,6 +1,3 @@
|
|
1
1
|
Connecting to database specified by database.yml
|
2
|
-
|
3
|
-
|
4
|
-
[1m[36m (0.2ms)[0m [1mPRAGMA index_list("schema_migrations")[0m
|
5
|
-
[1m[35m (124.6ms)[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
|
6
|
-
[1m[36m (0.7ms)[0m [1mSELECT "schema_migrations"."version" FROM "schema_migrations" [0m
|
2
|
+
Connecting to database specified by database.yml
|
3
|
+
Connecting to database specified by database.yml
|