tofulcrum 0.0.2 → 0.0.3

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MmJiYTJlODE2N2I5MDg0NjJhNzRmNWNhZTNhOGQ3NmQzMmI4ZTgyZQ==
4
+ MGQzODY5NzNiOTE1YTYwNWZjZWI2NGYyMzQ4NjA3MGYwZmQ3N2I2OA==
5
5
  data.tar.gz: !binary |-
6
- NTgwZDQwMTY4MjY3MjRiMzUwNzU0NDA1NzUwNTk2ZWI4ZTY1YzJiZQ==
6
+ NGZhOTI4Y2YwMGMwNGExYzFmNWQ0NjJkMzE5ZjA2NTZiMzk3NzEzNg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NjI4YWZhYjNkM2JjNWIzM2ExMTM3MjQyNmYwOWMwYzFhMjdhZTFiNmUyY2Y5
10
- YjNmODZhOWE4OGI4YzhiNTkxNzFhMThiZjYzNWQwMDhiOTc5ODNhMmY2NWFm
11
- YWNkN2Y2ZDJkZDQ4MzFhYTI5Y2U2YmJjMGYxYTBkODMwOWQ0MjQ=
9
+ NWM5MzU2YTE1ODQwNjE2N2Y5OWZkOWZhMmE1MTlmNmYzMzY3OTgzYjJlYTAw
10
+ Y2M5MjIwYjVhZjJmNTEyMmRiMTVmMzIzMTlkZTkwMzNiOGYyODQ0NzEyNmY5
11
+ NWMzMzU4YzZiZmU3MTBiYmQ3ZTY5YzcxMzg1OTM0YjNmYTI1Njk=
12
12
  data.tar.gz: !binary |-
13
- ZWNjODk2NjNiMDk0YmMyZmJhODk0NzRjMDc1MDEwNTgyODA3OWUxMDk3M2Q3
14
- YTIyODkxNGJkMGU4NzBkNmVmMzU5Njk5ODhkYzJjNjVjYzFhOWIwOGE1NzVl
15
- MmQ2YWVhZmU1NjY5OTA1OWI5NTliNmI3YTlhYzkzNWNmNGJkOGY=
13
+ ZTYyZDY1OGVjNzBjNTQ4NTFjYmJiOWI4NWI4MzgyZjMyYjljNGJiM2QzN2Q0
14
+ YzJhNTVjNzE0NWZlZmJhYjM0ZGQ0YzcyN2VjMWE4NmFiYWY1Y2Y1MDEyYjM0
15
+ MzMyNjRjYjFiMDk5MGJlY2Y0NDA0MmM0ODQxMzFhYmY4ZGY4YmE=
@@ -1,3 +1,3 @@
1
1
  module Tofulcrum
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/tofulcrum.rb CHANGED
@@ -14,10 +14,12 @@ module Tofulcrum
14
14
  end
15
15
 
16
16
  row_index = 0
17
+ upload_index = 0
17
18
 
18
19
  lat_index = nil
19
20
  lon_index = nil
20
21
  column_mapping = []
22
+ records = []
21
23
 
22
24
  CSV.foreach(file) do |row|
23
25
  is_header = row_index == 0
@@ -34,7 +36,6 @@ module Tofulcrum
34
36
 
35
37
  column_mapping = find_mapping_columns(form_id, headers, row, mapping)
36
38
  else
37
-
38
39
  form_values = {}
39
40
 
40
41
  column_mapping.each do |map|
@@ -59,13 +60,27 @@ module Tofulcrum
59
60
  }
60
61
  }
61
62
 
62
- Fulcrum::Record.create(record)
63
+ records << record
63
64
  end
64
65
 
65
66
  row_index += 1
66
-
67
- print "#{row_index.to_s.rjust(10, ' ')} records uploaded\r"
68
67
  end
68
+
69
+ thread_count = 8
70
+
71
+ mutex = Mutex.new
72
+
73
+ thread_count.times.map {
74
+ Thread.new(records) do |recs|
75
+ while record = mutex.synchronize { recs.pop }
76
+ Fulcrum::Record.create(record)
77
+ mutex.synchronize {
78
+ print "#{upload_index.to_s.rjust(10, ' ')} records uploaded\r"
79
+ upload_index += 1
80
+ }
81
+ end
82
+ end
83
+ }.each(&:join)
69
84
  end
70
85
 
71
86
  no_tasks do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tofulcrum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zac McCormick