class ConfigKit::Data::GitLoader
Attributes
clone_path[R]
Public Class Methods
loader()
click to toggle source
# File lib/config_kit/data/loaders/git_loader.rb, line 5 def self.loader; "git"; end
new(uri_kls, env, app, version)
click to toggle source
# File lib/config_kit/data/loaders/git_loader.rb, line 7 def initialize(uri_kls, env, app, version) @uri_kls, @env, @app, @version = uri_kls, env, app, version @clone_path = Dir.mktmpdir @file_path = "file://#{@clone_path}" @file_kls = URI.parse(@file_path) clone end
Public Instance Methods
run(&block)
click to toggle source
# File lib/config_kit/data/loaders/git_loader.rb, line 15 def run(&block) ConfigKit.logger.debug "Git is loading env(#{@env}) #{@app} from #{@uri_kls.to_s}" begin FileLoader.new(@file_kls, @env, @app, @version).run(&block) ensure FileUtils.rm_rf @clone_path end end
Private Instance Methods
clone()
click to toggle source
# File lib/config_kit/data/loaders/git_loader.rb, line 25 def clone ConfigKit.logger.debug "Git is cloning env(#{@env}) #{@app} from #{@uri_kls.to_s}" begin g = Git.clone(@uri_kls.to_s, @clone_path) tags = g.tags.map { |t| t.name } raise GitLoaderError.new "Version(#{@version}) not found" unless tags.include?(@version) g.checkout(@version) rescue GitLoaderError => e raise GitLoaderError.new e.message rescue Exception => e raise GitLoaderError.new "Unknown error to load (#{@version}) in #{@uri_kls.to_s}" end end