instance_variables method returns symbols in 1.9 ruby
This commit is contained in:
parent
0c1846e409
commit
8c63e7d35d
|
@ -183,32 +183,32 @@ module ActionView
|
|||
|
||||
alias_method :_view, :view
|
||||
|
||||
INTERNAL_IVARS = %w{
|
||||
@__name__
|
||||
@__io__
|
||||
@_assertion_wrapped
|
||||
@_assertions
|
||||
@_result
|
||||
@_routes
|
||||
@controller
|
||||
@layouts
|
||||
@locals
|
||||
@method_name
|
||||
@output_buffer
|
||||
@partials
|
||||
@passed
|
||||
@rendered
|
||||
@request
|
||||
@routes
|
||||
@templates
|
||||
@options
|
||||
@test_passed
|
||||
@view
|
||||
@view_context_class
|
||||
}
|
||||
INTERNAL_IVARS = [
|
||||
:@__name__,
|
||||
:@__io__,
|
||||
:@_assertion_wrapped,
|
||||
:@_assertions,
|
||||
:@_result,
|
||||
:@_routes,
|
||||
:@controller,
|
||||
:@layouts,
|
||||
:@locals,
|
||||
:@method_name,
|
||||
:@output_buffer,
|
||||
:@partials,
|
||||
:@passed,
|
||||
:@rendered,
|
||||
:@request,
|
||||
:@routes,
|
||||
:@templates,
|
||||
:@options,
|
||||
:@test_passed,
|
||||
:@view,
|
||||
:@view_context_class
|
||||
]
|
||||
|
||||
def _user_defined_ivars
|
||||
instance_variables.map(&:to_s) - INTERNAL_IVARS
|
||||
instance_variables - INTERNAL_IVARS
|
||||
end
|
||||
|
||||
# Returns a Hash of instance variables and their values, as defined by
|
||||
|
@ -216,8 +216,8 @@ module ActionView
|
|||
# rendered. This is generally intended for internal use and extension
|
||||
# frameworks.
|
||||
def view_assigns
|
||||
Hash[_user_defined_ivars.map do |var|
|
||||
[var[1, var.length].to_sym, instance_variable_get(var)]
|
||||
Hash[_user_defined_ivars.map do |ivar|
|
||||
[ivar[1..-1].to_sym, instance_variable_get(ivar)]
|
||||
end]
|
||||
end
|
||||
|
||||
|
|
|
@ -155,7 +155,7 @@ module ActionView
|
|||
test "view_assigns excludes internal ivars" do
|
||||
INTERNAL_IVARS.each do |ivar|
|
||||
assert defined?(ivar), "expected #{ivar} to be defined"
|
||||
assert !view_assigns.keys.include?(ivar.sub('@','').to_sym), "expected #{ivar} to be excluded from view_assigns"
|
||||
assert !view_assigns.keys.include?(ivar.to_s.sub('@', '').to_sym), "expected #{ivar} to be excluded from view_assigns"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue