activesupport 3.1.4.rc1 → 3.1.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activesupport might be problematic. Click here for more details.
@@ -86,23 +86,41 @@ module ActiveSupport #:nodoc:
|
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
89
|
+
def [](*args)
|
90
|
+
return super if args.size < 2
|
91
|
+
|
92
|
+
if html_safe?
|
93
|
+
new_safe_buffer = super
|
94
|
+
new_safe_buffer.instance_eval { @html_safe = true }
|
95
|
+
new_safe_buffer
|
96
|
+
else
|
97
|
+
to_str[*args]
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
89
101
|
def safe_concat(value)
|
90
|
-
raise SafeConcatError
|
102
|
+
raise SafeConcatError unless html_safe?
|
91
103
|
original_concat(value)
|
92
104
|
end
|
93
105
|
|
94
106
|
def initialize(*)
|
95
|
-
@
|
107
|
+
@html_safe = true
|
96
108
|
super
|
97
109
|
end
|
98
110
|
|
99
111
|
def initialize_copy(other)
|
100
112
|
super
|
101
|
-
@
|
113
|
+
@html_safe = other.html_safe?
|
114
|
+
end
|
115
|
+
|
116
|
+
def clone_empty
|
117
|
+
new_safe_buffer = self[0, 0]
|
118
|
+
new_safe_buffer.instance_variable_set(:@dirty, @dirty)
|
119
|
+
new_safe_buffer
|
102
120
|
end
|
103
121
|
|
104
122
|
def concat(value)
|
105
|
-
if
|
123
|
+
if !html_safe? || value.html_safe?
|
106
124
|
super(value)
|
107
125
|
else
|
108
126
|
super(ERB::Util.h(value))
|
@@ -115,7 +133,7 @@ module ActiveSupport #:nodoc:
|
|
115
133
|
end
|
116
134
|
|
117
135
|
def html_safe?
|
118
|
-
|
136
|
+
defined?(@html_safe) && @html_safe
|
119
137
|
end
|
120
138
|
|
121
139
|
def to_s
|
@@ -138,23 +156,17 @@ module ActiveSupport #:nodoc:
|
|
138
156
|
for unsafe_method in UNSAFE_STRING_METHODS
|
139
157
|
if 'String'.respond_to?(unsafe_method)
|
140
158
|
class_eval <<-EOT, __FILE__, __LINE__ + 1
|
141
|
-
def #{unsafe_method}(*args)
|
142
|
-
|
143
|
-
end
|
144
|
-
|
145
|
-
def #{unsafe_method}!(*args)
|
146
|
-
@
|
147
|
-
super
|
148
|
-
end
|
159
|
+
def #{unsafe_method}(*args, &block) # def capitalize(*args, &block)
|
160
|
+
to_str.#{unsafe_method}(*args, &block) # to_str.capitalize(*args, &block)
|
161
|
+
end # end
|
162
|
+
|
163
|
+
def #{unsafe_method}!(*args) # def capitalize!(*args)
|
164
|
+
@html_safe = false # @html_safe = false
|
165
|
+
super # super
|
166
|
+
end # end
|
149
167
|
EOT
|
150
168
|
end
|
151
169
|
end
|
152
|
-
|
153
|
-
protected
|
154
|
-
|
155
|
-
def dirty?
|
156
|
-
@dirty
|
157
|
-
end
|
158
170
|
end
|
159
171
|
end
|
160
172
|
|
metadata
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activesupport
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 11
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 1
|
9
9
|
- 4
|
10
|
-
|
11
|
-
- 1
|
12
|
-
version: 3.1.4.rc1
|
10
|
+
version: 3.1.4
|
13
11
|
platform: ruby
|
14
12
|
authors:
|
15
13
|
- David Heinemeier Hansson
|
@@ -17,7 +15,7 @@ autorequire:
|
|
17
15
|
bindir: bin
|
18
16
|
cert_chain: []
|
19
17
|
|
20
|
-
date: 2012-
|
18
|
+
date: 2012-03-01 00:00:00 Z
|
21
19
|
dependencies:
|
22
20
|
- !ruby/object:Gem::Dependency
|
23
21
|
name: multi_json
|
@@ -280,14 +278,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
280
278
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
281
279
|
none: false
|
282
280
|
requirements:
|
283
|
-
- - "
|
281
|
+
- - ">="
|
284
282
|
- !ruby/object:Gem::Version
|
285
|
-
hash:
|
283
|
+
hash: 3
|
286
284
|
segments:
|
287
|
-
-
|
288
|
-
|
289
|
-
- 1
|
290
|
-
version: 1.3.1
|
285
|
+
- 0
|
286
|
+
version: "0"
|
291
287
|
requirements: []
|
292
288
|
|
293
289
|
rubyforge_project:
|