class Minarai::Loaders::Base
Public Class Methods
new(path)
click to toggle source
# File lib/minarai/loaders/base.rb, line 8 def initialize(path) @path = path end
Public Instance Methods
load()
click to toggle source
# File lib/minarai/loaders/base.rb, line 12 def load case when !existed_file? raise "Does not exist file: #{pathname}" when yml_file? load_yaml_file when erb_file? load_erb_file else raise 'inalid extname error' end end
Private Instance Methods
binding_for_erb()
click to toggle source
# File lib/minarai/loaders/base.rb, line 27 def binding_for_erb TOPLEVEL_BINDING end
erb_file?()
click to toggle source
# File lib/minarai/loaders/base.rb, line 62 def erb_file? pathname.extname == '.erb' end
existed_file?()
click to toggle source
# File lib/minarai/loaders/base.rb, line 54 def existed_file? pathname.exist? end
load_erb_file()
click to toggle source
# File lib/minarai/loaders/base.rb, line 39 def load_erb_file self.class.new(parsed_erb_file.path).load end
load_file_from_yaml()
click to toggle source
# File lib/minarai/loaders/base.rb, line 66 def load_file_from_yaml YAML.load_file(pathname) end
load_yaml_file()
click to toggle source
# File lib/minarai/loaders/base.rb, line 35 def load_yaml_file loaded_class.new(load_file_from_yaml) end
loaded_class()
click to toggle source
# File lib/minarai/loaders/base.rb, line 31 def loaded_class raise NotImplementedError end
parsed_erb()
click to toggle source
# File lib/minarai/loaders/base.rb, line 43 def parsed_erb ERB.new(pathname.read).result(binding_for_erb) end
parsed_erb_file()
click to toggle source
# File lib/minarai/loaders/base.rb, line 47 def parsed_erb_file @parsed_erb_file ||= Tempfile.open(['', '.yml']) do |tmp| tmp.puts parsed_erb tmp end end
pathname()
click to toggle source
# File lib/minarai/loaders/base.rb, line 70 def pathname @pathname ||= Pathname.new(@path) end
yml_file?()
click to toggle source
# File lib/minarai/loaders/base.rb, line 58 def yml_file? %w(.yml yaml).include?(pathname.extname) end