Sha256: 4f36ebec22b0d4387dbb7dfdbb15949e6153d974aae7a50afc60d332c61631e4

Contents?: true

Size: 676 Bytes

Versions: 8

Compression:

Stored size: 676 Bytes

Contents

module DataSeeder
  module Loader
    class Txt
      include Loader

      attr_reader :line_number

      def load(io)
        if method = config[:line]
          @line_number = 0
          io.each_line do |line|
            begin
              @line_number += 1
              next if line.blank? || line.match(/^\s*#/)
              save(method.call(line))
            rescue Exception => e
              logger.error "Exception at line #{@line_number}: #{e.message}"
              raise unless config[:continue_on_exception]
            end
          end
        else
          raise "No line method defined for #{self.klass.name}"
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
data_seeder-1.1.0 lib/data_seeder/loader/txt.rb
data_seeder-1.0.9 lib/data_seeder/loader/txt.rb
data_seeder-1.0.8 lib/data_seeder/loader/txt.rb
data_seeder-1.0.7 lib/data_seeder/loader/txt.rb
data_seeder-1.0.6 lib/data_seeder/loader/txt.rb
data_seeder-1.0.5 lib/data_seeder/loader/txt.rb
data_seeder-1.0.4 lib/data_seeder/loader/txt.rb
data_seeder-1.0.3 lib/data_seeder/loader/txt.rb