Silence uninitialized variable warnings

As the community progressively moves to a useful practice of enabling
ruby warnings on tests, assigning an instance variable before use becomes
a necessary practice. Here we set some variables at initialization that
were previously lazily or conditionally set:

- `decoded` is assigned false which seems to make more semantic sense
  than than using nil
- `namespace` is assigned nil, its value being lazily computed later
- `available_namespaces` is assigned nil so as to respect the cache
  invalidation mechanism
This commit is contained in:
Loic Nageleisen 2017-09-04 16:11:07 +02:00 committed by Yorick Peterse
parent ef1b8d2a28
commit 151788abad
2 changed files with 10 additions and 8 deletions

View File

@ -34,10 +34,11 @@ module Oga
# @option options [String] :value
# @option options [Oga::XML::Element] :element
def initialize(options = {})
@name = options[:name]
@value = options[:value]
@element = options[:element]
@name = options[:name]
@value = options[:value]
@element = options[:element]
@decoded = false
@namespace = nil
@namespace_name = options[:namespace_name]
end

View File

@ -34,10 +34,11 @@ module Oga
def initialize(options = {})
super
@name = options[:name]
@namespace_name = options[:namespace_name]
@attributes = options[:attributes] || []
@namespaces = options[:namespaces] || {}
@name = options[:name]
@namespace_name = options[:namespace_name]
@attributes = options[:attributes] || []
@namespaces = options[:namespaces] || {}
@available_namespaces = nil
link_attributes
register_namespaces_from_attributes