class ConfigKit::Data::Loader
Attributes
batch_size[R]
cursor[R]
files[R]
Public Class Methods
err(message)
click to toggle source
# File lib/config_kit/data/loader.rb, line 18 def self.err(message) STDERR.puts message end
info(message)
click to toggle source
# File lib/config_kit/data/loader.rb, line 14 def self.info(message) STDOUT.puts message end
inherited(subclass)
click to toggle source
# File lib/config_kit/data/loader.rb, line 25 def self.inherited(subclass) @loaders << subclass end
load(app, from, uri_kls, env, version, &block)
click to toggle source
# File lib/config_kit/data/loader.rb, line 32 def self.load(app, from, uri_kls, env, version, &block) @loader_names = @loaders.map{ |l| l.loader} @uri_kls, @env, @app, @version = uri_kls, env, app, version loader = from if loader.nil? ConfigKit.logger.error "from empty source with #{@uri_kls.to_s}" elsif !@loader_names.include?(loader) ConfigKit.logger.error "Unrecognize loader: #{loader} for #{@uri}" else loader_class = @loaders.find{ |c| c.loader == loader} ConfigKit.logger.debug "#{loader_class.loader} is loading env(#{@env}) app(#{app}) data(#{@version}) from #{uri_kls.to_s}" loader_class.new(@uri_kls, @env, @app, @version).run(&block) ConfigKit.logger.debug "#{loader_class.loader} is loaded env(#{@env}) app(#{app}) data(#{@version}) from #{uri_kls.to_s}" end rescue => e raise ConfigKit::Data::Loader::LoaderFailure.new e.message end
new(batch_size=10)
click to toggle source
# File lib/config_kit/data/loader.rb, line 55 def initialize(batch_size=10) @files = [] @batch_size = batch_size @current_files = [] @cursor = 0 @files = retrieve_files end
Public Instance Methods
file_count()
click to toggle source
# File lib/config_kit/data/loader.rb, line 63 def file_count @files.count end
finish?()
click to toggle source
# File lib/config_kit/data/loader.rb, line 82 def finish? @cursor >= file_count end
next_batch()
click to toggle source
# File lib/config_kit/data/loader.rb, line 67 def next_batch if finish? @current_files = [] @cursor = file_count return @cursor end _next_cursor = next_cursor @current_files = @files[@cursor.._next_cursor - 1] @cursor = _next_cursor end
next_cursor()
click to toggle source
# File lib/config_kit/data/loader.rb, line 78 def next_cursor @cursor + @batch_size > file_count ? file_count : (@cursor + @batch_size) end
retrieve_files()
click to toggle source
# File lib/config_kit/data/loader.rb, line 86 def retrieve_files raise NotImplementedError end