queryable_pstore 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0fa974a00353c4e01dba714b9a103146c0569cee
4
- data.tar.gz: 6e7801a70e48fddcab704642fd7ff7e349b3bd45
3
+ metadata.gz: ed900a27718914479aaea9502f5d7dcb01aa4aa6
4
+ data.tar.gz: c2b26e0ef5b614f96b9534fe00e3026b3b3bf87a
5
5
  SHA512:
6
- metadata.gz: c123a8c1d20573c2b0d554232407f21d3642015565c9297f38d6fa9f25100bf4c9ebdc16c35003ee6554cb4499b500b7ce21caaf5ce609030613584bc73d61da
7
- data.tar.gz: 0fc583600e4e3002d58ef5005b8047e2f8f40191070424cf801f7b30fe3384187a0921f97782f96d62b2984fb7060d6c18f6f81b632b70a05e3585a9f63f6a99
6
+ metadata.gz: b614f00f32213a2a8d2ff2c89706c4b0b624538321713680e4c3c6440e8d1ac1be30b04dc73b02dbb98b32bcd0b03580601906f3921a2cefdc9bb39151dd5372
7
+ data.tar.gz: 20a6a804585c402dd6b8c46568ed68ca6a73aa07bc6c839490f8a4d7690371079464713b44210c2102ac4b5812908bb7c52df7780e1782ae2cf333e39054bd1b
data/lib/csv_importer.rb CHANGED
@@ -1,5 +1,6 @@
1
- require 'pry'
2
1
  class CSVImporter
2
+ CURRENT_DIRECTORY = "./".freeze
3
+
3
4
  attr_reader :original_headers, :headers_and_type
4
5
 
5
6
  def import_csv(filename, opts = {})
@@ -22,8 +23,9 @@ class CSVImporter
22
23
 
23
24
  def create_pstore(csv, opts = {}, filename = SecureRandom.uuid)
24
25
  csv_converters = opts.fetch(:convert, []).map { |conversion| CSVConverter.new(conversion) }
26
+ file_save_location = opts[:save_to_location] || CURRENT_DIRECTORY
25
27
 
26
- store = QueryablePStore.new("#{filename}.pstore")
28
+ store = QueryablePStore.new("#{file_save_location}#{filename}.pstore")
27
29
  store.transaction do
28
30
  csv.each do |row|
29
31
  store[SecureRandom.uuid] = csv_converters.inject(row.to_h) { |hash, converter| converter.convert(hash) }
@@ -2,6 +2,7 @@ require 'pstore'
2
2
  require 'ostruct'
3
3
  require 'securerandom'
4
4
  require 'csv'
5
+ require 'fileutils'
5
6
 
6
7
  require_relative 'query'
7
8
  require_relative 'csv_converter'
@@ -28,6 +29,7 @@ class QueryablePStore < PStore
28
29
  def_delegator :@csv_importer, :headers_and_type
29
30
 
30
31
  def initialize(store_name)
32
+ FileUtils.mkdir_p(File.dirname(store_name)) # create the directory if it doesn't exist where we are saving the file
31
33
  super(store_name)
32
34
  @queries = []
33
35
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: queryable_pstore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jacob Smith