data_importer 0.1.0 → 0.2.0

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: 701f51feab0a7c1f7ed3d9df3f634ab2e65cde29
4
- data.tar.gz: 7353f84050d686961a515f20c441f26ab1b3f89b
3
+ metadata.gz: ec204ce2ae55ff7ca82f6d21fe9b074fe934d9c8
4
+ data.tar.gz: 4d485771b60418e7d364e2b7b474a530b2bf4378
5
5
  SHA512:
6
- metadata.gz: eb85fc19a3463d57cd67b5fe1c3ab78c8e9caa18cd116b15f2f49d05d0434b9c4842eeb1f339981ea238edc85aa6e5fea9c6c4fde82d9c79f953bb96a60e6ed0
7
- data.tar.gz: d91e7b96327884abf861b985a0da939f9349c86ddc4c234c81323bb7a28fd0cb58c7956051bd022085f19627f4a8712e6af222971072d616d68415836d1f5b00
6
+ metadata.gz: 6cfc1cf18d4aaa40ab697670293a8a48a3a4aaa0dfd6afab71d95a457a6dcac206722c68e03eb489609b2516a3d836ca08e73f03e9f68b8d0cc91ff7ce09c25f
7
+ data.tar.gz: bc956ed9fe97471d29e64875283caf57ea00d019c916ce61d1ce6ff7b784fa9d19a1928d7ada2e97af6be81465c26e8dc1e995359d10c77250db48d77f84d0ef
@@ -1,12 +1,13 @@
1
1
  example_id | status | run_time |
2
2
  -------------------------------------------- | ------ | --------------- |
3
- ./spec/data_importer/csv_reader_spec.rb[1:1] | passed | 0.00141 seconds |
4
- ./spec/data_importer/csv_reader_spec.rb[1:2] | passed | 0.00067 seconds |
5
- ./spec/data_importer/csv_reader_spec.rb[1:3] | passed | 0.00042 seconds |
6
- ./spec/data_importer/csv_reader_spec.rb[1:4] | passed | 0.00031 seconds |
7
- ./spec/data_importer/csv_reader_spec.rb[1:5] | passed | 0.00074 seconds |
8
- ./spec/data_importer/csv_reader_spec.rb[1:6] | passed | 0.00084 seconds |
9
- ./spec/data_importer_spec.rb[1:1] | passed | 0.3242 seconds |
10
- ./spec/data_importer_spec.rb[1:2] | passed | 0.00199 seconds |
11
- ./spec/data_importer_spec.rb[1:3] | passed | 0.02466 seconds |
12
- ./spec/data_importer_spec.rb[1:4] | passed | 0.0402 seconds |
3
+ ./spec/data_importer/csv_reader_spec.rb[1:1] | passed | 0.00136 seconds |
4
+ ./spec/data_importer/csv_reader_spec.rb[1:2] | passed | 0.00048 seconds |
5
+ ./spec/data_importer/csv_reader_spec.rb[1:3] | passed | 0.00038 seconds |
6
+ ./spec/data_importer/csv_reader_spec.rb[1:4] | passed | 0.00019 seconds |
7
+ ./spec/data_importer/csv_reader_spec.rb[1:5] | passed | 0.0002 seconds |
8
+ ./spec/data_importer/csv_reader_spec.rb[1:6] | passed | 0.00042 seconds |
9
+ ./spec/data_importer/csv_reader_spec.rb[1:7] | passed | 0.00022 seconds |
10
+ ./spec/data_importer_spec.rb[1:1] | passed | 0.15269 seconds |
11
+ ./spec/data_importer_spec.rb[1:2] | passed | 0.00313 seconds |
12
+ ./spec/data_importer_spec.rb[1:3] | passed | 0.01033 seconds |
13
+ ./spec/data_importer_spec.rb[1:4] | passed | 0.02246 seconds |
@@ -1,5 +1,6 @@
1
1
  require "data_importer/version"
2
2
  require "data_importer/csv_reader"
3
+ require "data_importer/report"
3
4
  require "data_importer/importer_service"
4
5
  require "csv"
5
6
  require "byebug"
@@ -31,15 +31,4 @@ module DataImporter
31
31
  field.downcase.gsub(/\s+/, ' ').gsub(" ","_").to_sym
32
32
  end
33
33
  end
34
-
35
- class Report
36
- attr_accessor :successful, :unsuccessful, :total, :time_elapsed
37
-
38
- def initialize
39
- @successful = 0
40
- @unsuccessful = 0
41
- @total = 0
42
- @time_elapsed = 0
43
- end
44
- end
45
34
  end
@@ -1,11 +1,12 @@
1
1
  module DataImporter
2
2
  class ImporterService
3
- attr_accessor :reader, :report, :klass
3
+ attr_accessor :reader, :report, :klass, :verbose
4
4
 
5
- def initialize(file_name, klass, mappings=nil, required_keys=[])
5
+ def initialize(file_name, klass, args={})
6
6
  @klass = klass
7
7
  @report = Report.new
8
- @reader = CsvReader.new(file_name, mappings)
8
+ @reader = CsvReader.new(file_name, args[:mappings])
9
+ @verbose = args[:verbose]
9
10
  end
10
11
 
11
12
  def run
@@ -14,12 +15,18 @@ module DataImporter
14
15
  new_entry = @klass.new(row)
15
16
  if new_entry.save
16
17
  @report.successful += 1
18
+ print_message("Successful #{row.values.join(', ')}")
17
19
  else
18
20
  @report.unsuccessful += 1
21
+ print_message("UnSuccessful #{row.values.join(', ')} Error: #{new_entry.errors.full_messages.first}")
19
22
  end
20
23
  @report.total = @report.successful + @report.unsuccessful
21
24
  end
22
25
  end
23
26
  end
27
+
28
+ def print_message(message)
29
+ puts message if verbose
30
+ end
24
31
  end
25
32
  end
@@ -0,0 +1,12 @@
1
+ module DataImporter
2
+ class Report
3
+ attr_accessor :successful, :unsuccessful, :total, :time_elapsed
4
+
5
+ def initialize
6
+ @successful = 0
7
+ @unsuccessful = 0
8
+ @total = 0
9
+ @time_elapsed = 0
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,3 @@
1
1
  module DataImporter
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_importer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sahil Taneja
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-20 00:00:00.000000000 Z
11
+ date: 2017-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -115,6 +115,7 @@ files:
115
115
  - lib/data_importer.rb
116
116
  - lib/data_importer/csv_reader.rb
117
117
  - lib/data_importer/importer_service.rb
118
+ - lib/data_importer/report.rb
118
119
  - lib/data_importer/version.rb
119
120
  homepage: https://rubygems.org/gems/data_importer
120
121
  licenses: