class OpenConfig::Base
Attributes
file_path[R]
Public Class Methods
new(root: Dir.pwd, file:)
click to toggle source
# File lib/open_config/files/base.rb, line 7 def initialize(root: Dir.pwd, file:) @file_path = File.join(root, file) end
Public Instance Methods
method_missing(method_name, *arguments, &block)
click to toggle source
Calls superclass method
# File lib/open_config/files/base.rb, line 11 def method_missing(method_name, *arguments, &block) return super unless configuration_method?(method_name) tree.public_send(method_name, *arguments, &block) end
respond_to_missing?(method_name, include_private = false)
click to toggle source
Calls superclass method
# File lib/open_config/files/base.rb, line 17 def respond_to_missing?(method_name, include_private = false) configuration_method?(method_name) || super end
Private Instance Methods
configuration_method?(method_name)
click to toggle source
# File lib/open_config/files/base.rb, line 23 def configuration_method?(method_name) tree.respond_to?(method_name) end
parse_file(_file_content)
click to toggle source
# File lib/open_config/files/base.rb, line 31 def parse_file(_file_content) raise NotImplementedError, 'Subclassed must implement #parse_file' end
read_file()
click to toggle source
# File lib/open_config/files/base.rb, line 35 def read_file raise OpenConfig::Errors::FileNotFound, file_path unless File.exists?(file_path) File.new(file_path).read end
tree()
click to toggle source
# File lib/open_config/files/base.rb, line 27 def tree @tree ||= parse_file(read_file) end