class DirModel::Import::Dir
Attributes
context[R]
current_dir_model[R]
import_dir_model_class[R]
index[R]
path[R]
previous_dir_model[R]
Public Class Methods
new(source_path, import_dir_model_class, context={})
click to toggle source
# File lib/dir_model/import/dir.rb, line 19 def initialize(source_path, import_dir_model_class, context={}) @path, @import_dir_model_class, @context = Path.new(source_path), import_dir_model_class, context.to_h.symbolize_keys reset end
Public Instance Methods
each(context={}) { |current_dir_model| ... }
click to toggle source
# File lib/dir_model/import/dir.rb, line 30 def each(context={}) return to_enum(__callee__) unless block_given? while self.next(context) next if skip? yield current_dir_model end end
next(context={})
click to toggle source
# File lib/dir_model/import/dir.rb, line 39 def next(context={}) return if end? run_callbacks :next do context = context.to_h.reverse_merge(self.context) @previous_dir_model = current_dir_model @current_dir_model = import_dir_model_class.next(path, context, previous_dir_model) @index += 1 @current_dir_model = @index = nil if end? end current_dir_model end
reset()
click to toggle source
# File lib/dir_model/import/dir.rb, line 24 def reset path.reset! @index = -1 @current_dir_model = nil end
Private Instance Methods
skip?()
click to toggle source
# File lib/dir_model/import/dir.rb, line 55 def skip? !!current_dir_model.try(:skip?) end