file_db 0.4.1 → 0.4.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: 20ddf6734071764b2de65872502a9cd890823e3c
4
- data.tar.gz: ecdc39d94e782fcb3e7ac65050fc7a493768ef0d
3
+ metadata.gz: 166f1e78e647f42d534f681e12d8e5d01d8be911
4
+ data.tar.gz: 2c02687eacf9df2cc5313453d378c2c1a606be53
5
5
  SHA512:
6
- metadata.gz: fd7224410c97b8e9c5d12389b5badf92b027893190b15cf87191af761e3e2ed33801a0b07c44bbb76bfcc3293850bc726ca6f70090d36e9098b8968565c80162
7
- data.tar.gz: 1abbe4489dd1f06123baa7749aec617164275b91807e6f907eb4db9ca2ee2b046431f6f147798d4c743d35dcdc5a31a914ad8e977813250593748f7f2a31e82b
6
+ metadata.gz: 00072324fcef2e55f356769d17cdba0e990295bd456afd467ed2813a94fa1b33be5adfc4963f4fa92d26d0b77db081fde97248941c0a8453d86cf97d37e783c0
7
+ data.tar.gz: 3272b5dca20856d67d123ea0c4788a4fd4ebf9ee5d08f5016032b44889f03fb1561720f61dc7f1e32fe6372c937dd6bc4909be57ab9f0096518f80b87bada376
@@ -1,20 +1,36 @@
1
+ require 'singleton'
1
2
  module FileDb
2
- module Database
3
+ class Database
4
+ include Singleton
5
+
3
6
  def self.database_check!
4
- create_data_directory! unless exist_data_directory?
7
+ instance.create_data_directory! unless instance.exist_data_directory?
5
8
  end
6
-
7
- private
8
- def self.data_directory
9
- Configuration.configured(:data_directory)
9
+
10
+ def search model
11
+ return unless File.exist?(table_file(model))
12
+ ::CSV.foreach(table_file(model)) do |row|
13
+ yield row
14
+ end
10
15
  end
11
16
 
12
- def self.exist_data_directory?
17
+ def exist_data_directory?
13
18
  File.exist? data_directory
14
19
  end
15
20
 
16
- def self.create_data_directory!
21
+ def create_data_directory!
17
22
  Dir.mkdir data_directory
18
23
  end
24
+
25
+ private
26
+
27
+ def table_file model
28
+ File.join(data_directory, "#{model.table_name}.csv")
29
+ end
30
+
31
+ def data_directory
32
+ Configuration.configured(:data_directory)
33
+ end
19
34
  end
35
+
20
36
  end
data/lib/file_db/query.rb CHANGED
@@ -20,7 +20,7 @@ module FileDb
20
20
 
21
21
  def where conditions
22
22
  results = []
23
- searching_database do |data_row|
23
+ Database.instance.search(self) do |data_row|
24
24
  if conditions_match?(conditions,data_row)
25
25
  results << create_object(data_row)
26
26
  end
data/lib/file_db/table.rb CHANGED
@@ -14,13 +14,6 @@ module FileDb
14
14
  object
15
15
  end
16
16
 
17
- def searching_database
18
- return unless File.exist?(table_file_location)
19
- ::CSV.foreach(table_file_location) do |row|
20
- yield row
21
- end
22
- end
23
-
24
17
  def rebuild_file! entries
25
18
  ::CSV.open(table_file_location, "w") do |csv|
26
19
  entries.each do |entry|
@@ -1,3 +1,3 @@
1
1
  module FileDb
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: file_db
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Starke
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-30 00:00:00.000000000 Z
11
+ date: 2016-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler