From 151788abad7921c94e11ca666dcee71e30627e9d Mon Sep 17 00:00:00 2001 From: Loic Nageleisen Date: Mon, 4 Sep 2017 16:11:07 +0200 Subject: [PATCH] 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 --- lib/oga/xml/attribute.rb | 9 +++++---- lib/oga/xml/element.rb | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/oga/xml/attribute.rb b/lib/oga/xml/attribute.rb index 7ae5222..e35a1d1 100644 --- a/lib/oga/xml/attribute.rb +++ b/lib/oga/xml/attribute.rb @@ -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 diff --git a/lib/oga/xml/element.rb b/lib/oga/xml/element.rb index b8fb16a..9f02f81 100644 --- a/lib/oga/xml/element.rb +++ b/lib/oga/xml/element.rb @@ -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