loady 0.7.1 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 73912330c3f4b5362b36e18a110532db84d4635e
4
- data.tar.gz: 0f8a2bd49e4eb00fde4aff8ffe79fad9d24553e9
3
+ metadata.gz: 5431b74708121dcbdbc9ec5743fbaebb92e8940e
4
+ data.tar.gz: bd108b5bf37cf749ccb4195fce1f6549c07728f7
5
5
  SHA512:
6
- metadata.gz: 8e30064023249f1baaa1945a7f2b2a522d238f7c5742f2c8c591fcd50e28b8c96325dc6eeca86eca276485a46a73bf77c80a1d7fc9a30c001a57ffda3a4dd394
7
- data.tar.gz: 0ee3605df2936c3a96deff8b6e1f8edabe9f6776d4c7e180f70c25382ddca6948813617c1d43cb65e4a510653c211465d78c66c13c7c1fca0988250639afc9c4
6
+ metadata.gz: e4028a6a6bb1e71963ce84726e1bf8b6c907a868f2e95ab9a056e01cb6e549b23fae0c8e3a50aa6a1696b1091a725e94a1bad926a820beef176666d7c5e125c2
7
+ data.tar.gz: 6990fc622994fd3a70845e5129d23bf8d5a59fae6215c01163575cb8214ad3a96559609281ad95b12f0e2789b7f4ad216d28d4ba310623c92b5f69047bf728fb
data/Gemfile CHANGED
@@ -1,4 +1,7 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- # see loady.gemspec
3
+ group :test do
4
+ gem 'coveralls', require: false
5
+ end
6
+
4
7
  gemspec
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/loady.png)](http://badge.fury.io/rb/loady)
2
2
  [![Build Status](https://api.travis-ci.org/teeparham/loady.png)](https://travis-ci.org/teeparham/loady)
3
3
  [![Code Climate](https://codeclimate.com/github/teeparham/loady.png)](https://codeclimate.com/github/teeparham/loady)
4
+ [![Coverage Status](https://coveralls.io/repos/teeparham/loady/badge.png)](https://coveralls.io/r/teeparham/loady)
4
5
 
5
6
  # Loady - A file loader with simple logging
6
7
 
@@ -15,15 +15,10 @@ module Loady
15
15
  attr_hash = {}
16
16
 
17
17
  names.each_with_index do |name, i|
18
- if i < self.size
19
- if options[:strip] && self[i]
20
- attr_hash[name] = self[i].strip
21
- else
22
- attr_hash[name] = self[i]
18
+ attr_hash[name] =
19
+ if i < self.size && self[i]
20
+ options[:strip] ? self[i].strip : self[i]
23
21
  end
24
- else
25
- attr_hash[name] = nil
26
- end
27
22
  end
28
23
 
29
24
  attr_hash
@@ -9,12 +9,6 @@ module Loady
9
9
  @line_number = 0
10
10
  end
11
11
 
12
- class << self
13
- def read(*args, &block)
14
- self.new.read(*args, &block)
15
- end
16
- end
17
-
18
12
  # valid options:
19
13
  # skip_first_row: true -- default = false
20
14
  # logger: Logger.new('/somewhere/file.log') -- default = Logger.new(STDOUT)
@@ -24,36 +18,35 @@ module Loady
24
18
  @logger = options.delete(:logger) || default_logger
25
19
 
26
20
  f = File.new(filename)
27
- f.readline if options.delete(:skip_first_row)
21
+ f.autoclose = true
22
+ f.gets if options.delete(:skip_first_row)
28
23
 
29
- begin
30
- while (line = f.readline)
31
- readline(line, options, &block)
32
- end
33
- rescue EOFError
34
- f.close
35
- rescue Exception => message
36
- @warning += 1
37
- @line_number += 1
38
- @logger.error "#{message} - at line #@line_number\n#{line}"
39
- end
24
+ f.each do |line|
25
+ readline line, options, &block
26
+ end
40
27
 
41
28
  @logger.info "Finished. Loaded #@success rows. #@warning unprocessed rows."
42
29
  end
43
30
 
31
+ class << self
32
+ def read(*args, &block)
33
+ self.new.read(*args, &block)
34
+ end
35
+ end
36
+
44
37
  private
45
38
 
46
39
  def readline(line, options)
47
40
  @line_number += 1
48
41
  row = AttributeArray.new(CSV.parse(line, options)[0])
49
42
 
50
- unless row.empty?
43
+ if row.any?
51
44
  yield row
52
45
  @success += 1
53
46
  end
54
- rescue Exception => message
47
+ rescue Exception => ex
55
48
  @warning += 1
56
- @logger.warn "#{message.to_s.gsub("line 1", "line #@line_number")}\n#{line}"
49
+ @logger.warn "#{ex.to_s.gsub("line 1", "line #@line_number")}\n#{line}"
57
50
  end
58
51
 
59
52
  def default_logger
data/lib/loady/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Loady
2
- VERSION = "0.7.1"
2
+ VERSION = "0.7.2"
3
3
  end
data/loady.gemspec CHANGED
@@ -1,6 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "loady/version"
2
+ require "./lib/loady/version"
4
3
 
5
4
  Gem::Specification.new do |s|
6
5
  s.name = "loady"
data/test/test_helper.rb CHANGED
@@ -1,3 +1,6 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
1
4
  require 'test/unit'
2
5
  require 'shoulda-context'
3
6
  require 'mocha/setup'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: loady
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tee Parham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-06 00:00:00.000000000 Z
11
+ date: 2013-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mocha
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  version: '0'
113
113
  requirements: []
114
114
  rubyforge_project:
115
- rubygems_version: 2.0.5
115
+ rubygems_version: 2.1.5
116
116
  signing_key:
117
117
  specification_version: 4
118
118
  summary: CSV file loader with simple logging
@@ -124,4 +124,3 @@ test_files:
124
124
  - test/test_csv_loader.rb
125
125
  - test/test_helper.rb
126
126
  - test/test_memory_logger.rb
127
- has_rdoc: