tadb 0.3.6 → 0.3.7

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
  SHA256:
3
- metadata.gz: 5402411b27ddb23194835e49002e3888cc934900b8516fd120ced85c7135a183
4
- data.tar.gz: 7f9b1468c0a330d5b19c347b124562a4e20bd6190fe42e1705610e29fb8fd3cb
3
+ metadata.gz: 7c93f62a11b009c566e1fb48f69ac3ab7bd2766efacc7221cffa9b96fb1d61eb
4
+ data.tar.gz: cd883727d6213e37415bdbd8b6354d7ed7220cd89a963a6df30b573dbdafc186
5
5
  SHA512:
6
- metadata.gz: 519d4e21077de739ecbd940f3cda39f6902ac2582dc422c03eb808ee8122d9236881b504ca93fbacecfe588f65391a782788983f953534f0c693436144694a09
7
- data.tar.gz: 27c00935960a1a18ed6138ea904439cf3e7c3419c635dcb3b32b04139005a2066b779b0dc5da65f06346face932c71bb65d46ed8c8338dd468c9286eefe97d0e
6
+ metadata.gz: 86c9aef15d2d8c2996e077b0686944967b5edd168034d9cd6847443fdcb7e1b2a3621e1b4b7daaddc59f669218d581af9ab848b5efe897f32bda20c1e3bc246a
7
+ data.tar.gz: 5f4c20841823515e815ac9db0340bc01eb085783733c69a671daa14ef08aed8dece3f2dce1115eb1f2f8ade819f781b80b0294d4e344bbe8e5ddd6bbd5b05d98
data/lib/tadb.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module TADB
2
- VERSION = '0.3.6'
2
+ VERSION = '0.3.7'
3
3
  end
4
4
 
5
5
  require_relative 'tadb/db'
data/lib/tadb/db.rb CHANGED
@@ -2,8 +2,8 @@ require 'fileutils'
2
2
  module TADB
3
3
  module DB
4
4
 
5
- def self.table(table_name)
6
- Table.new(table_name)
5
+ def self.table(table_name, clear_if_content = false)
6
+ Table.new(table_name, clear_if_content)
7
7
  end
8
8
 
9
9
  def self.clear_all
data/lib/tadb/table.rb CHANGED
@@ -3,8 +3,9 @@ require 'json'
3
3
 
4
4
  class TADB::Table
5
5
 
6
- def initialize(name)
6
+ def initialize(name, clear_if_content = false)
7
7
  @name = name
8
+ clear_file_contents if clear_if_content
8
9
  end
9
10
 
10
11
  def entries
@@ -45,13 +46,21 @@ class TADB::Table
45
46
 
46
47
  private
47
48
 
49
+ def clear_file_contents
50
+ return unless file_present?
51
+ clear
52
+ end
53
+
54
+ def file_present?
55
+ File.file?(db_path)
56
+ end
57
+
48
58
  def file(mode, &block)
49
59
  Dir.mkdir('./db') unless File.exists?('./db')
50
60
  clear unless File.exists?(db_path)
51
61
 
52
62
  File.open(db_path, mode) do |file|
53
63
  # The new File object is buffered mode (or non-sync mode), unless filename is a tty. See IO#flush, IO#fsync, IO#fdatasync, and IO#sync= about sync mode.
54
- puts "Forcing sync on file #{db_path}..."
55
64
  file.sync = true # https://ruby-doc.org/core-3.0.0/File.html#method-c-new-label-Examples
56
65
  block.call(file)
57
66
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tadb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - UTN FRBA - TADP
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-23 00:00:00.000000000 Z
11
+ date: 2021-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec-collection_matchers