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 if dirty?
102
+ raise SafeConcatError unless html_safe?
91
103
  original_concat(value)
92
104
  end
93
105
 
94
106
  def initialize(*)
95
- @dirty = false
107
+ @html_safe = true
96
108
  super
97
109
  end
98
110
 
99
111
  def initialize_copy(other)
100
112
  super
101
- @dirty = other.dirty?
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 dirty? || value.html_safe?
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
- !dirty?
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
- super.to_str
143
- end
144
-
145
- def #{unsafe_method}!(*args)
146
- @dirty = true
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
 
@@ -3,7 +3,7 @@ module ActiveSupport
3
3
  MAJOR = 3
4
4
  MINOR = 1
5
5
  TINY = 4
6
- PRE = "rc1"
6
+ PRE = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
9
9
  end
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: 15424071
5
- prerelease: 6
4
+ hash: 11
5
+ prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 1
9
9
  - 4
10
- - rc
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-02-22 00:00:00 Z
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: 25
283
+ hash: 3
286
284
  segments:
287
- - 1
288
- - 3
289
- - 1
290
- version: 1.3.1
285
+ - 0
286
+ version: "0"
291
287
  requirements: []
292
288
 
293
289
  rubyforge_project: