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 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', :git => 'git://github.com/maljub01/RTLize.git'
11
+ gem 'rtlize'
12
12
 
13
13
  Then run `bundle install` and you'll be all set.
14
14
 
data/Rakefile CHANGED
@@ -36,3 +36,9 @@ end
36
36
 
37
37
 
38
38
  task :default => :test
39
+
40
+ desc "Delete the latest tag"
41
+ task :delete_tag do
42
+ system "git tag -d v#{Rtlize::VERSION}"
43
+ system "git push origin :refs/tags/v#{Rtlize::VERSION}"
44
+ end
@@ -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' => :box_shadow,
55
- '-webkit-box-shadow' => :box_shadow,
56
- '-moz-box-shadow' => :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 box_shadow(v)
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\([^)]*\)|,|#\S*|[-0-9px]+/) do |m|
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\([^)]*\)|#\S*/) || found
171
+ elsif m.match(/rgba\([^)]*\)|#[0-9A-Fa-f]*/) || found
145
172
  m
146
173
  else
147
174
  found = true
148
- m.to_i.zero? ? m : m.gsub(m.to_i.to_s, (-1 * m.to_i).to_s)
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
@@ -1,3 +1,3 @@
1
1
  module Rtlize
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -1,6 +1,3 @@
1
1
  Connecting to database specified by database.yml
2
-  (33.1ms) select sqlite_version(*)
3
-  (189.6ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
4
-  (0.2ms) PRAGMA index_list("schema_migrations")
5
-  (124.6ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
6
-  (0.7ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
2
+ Connecting to database specified by database.yml
3
+ Connecting to database specified by database.yml