rtlize 0.1.0 → 0.2.1

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/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