Sha256: 05153f8948c78bd2bacefb8be8276273bca11140efab370008bad7d85ba62188
Contents?: true
Size: 1.05 KB
Versions: 3
Compression:
Stored size: 1.05 KB
Contents
# encoding: utf-8 class EsrFile < ActiveRecord::Base # Access restrictions attr_accessible :file, :remarks # Default sorting default_scope order('created_at DESC') # File upload mount_uploader :file, EsrFileUploader validates :file, :presence => true has_many :esr_records, :dependent => :destroy # String def to_s(format = :default) case format when :long s = '' esr_records.each {|record| s += record.to_s + "\n" } s else "#{updated_at.strftime('%d.%m.%Y')}: #{file_identifier}" end end after_save :create_records private def create_records File.new(file.current_path).each do |line| if EsrRecord.supported_line?(line) esr_records << create_esr_record(line) else Rails.logger.info "VESR: Ignoring line #{line}" end end end def create_esr_record(line) record = EsrRecord.new.parse(line) record.save Rails.logger.error "VESR: Record #{record.inspect} is invalid: #{record.errors.inspect}" unless record.valid? record end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
vesr-1.1.1 | app/models/esr_file.rb |
vesr-1.1.0 | app/models/esr_file.rb |
vesr-1.0.1 | app/models/esr_file.rb |