tadb 0.3.6 → 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tadb/db.rb +2 -2
  3. data/lib/tadb/table.rb +13 -4
  4. data/lib/tadb.rb +1 -1
  5. metadata +10 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5402411b27ddb23194835e49002e3888cc934900b8516fd120ced85c7135a183
4
- data.tar.gz: 7f9b1468c0a330d5b19c347b124562a4e20bd6190fe42e1705610e29fb8fd3cb
3
+ metadata.gz: f7f4ae57a369132a6a082a23faf6f36237c02946fc96aed66a326687302e0dc0
4
+ data.tar.gz: aaff432af0129de1645188930ecbac6d947f6e9cf495685c9e226ec95a52cc88
5
5
  SHA512:
6
- metadata.gz: 519d4e21077de739ecbd940f3cda39f6902ac2582dc422c03eb808ee8122d9236881b504ca93fbacecfe588f65391a782788983f953534f0c693436144694a09
7
- data.tar.gz: 27c00935960a1a18ed6138ea904439cf3e7c3419c635dcb3b32b04139005a2066b779b0dc5da65f06346face932c71bb65d46ed8c8338dd468c9286eefe97d0e
6
+ metadata.gz: feec23a9fd718a4ae983642722d866e93c29dea1cfddd5d2d5fc30fd949e860e2b36ee8e1ec1379b2cdfbe7c4b7b50c6b6fbd91f870b699e5bb85ca271fdd84e
7
+ data.tar.gz: 9bd119b6c74f204c36efe6539da0dcfef00930f73a5b2761c3441e9a6be4f559b1b56338a2f8b7069ca232a5de3f381ce85b1c1954eed665c2c4b6db3f0f4b04
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
- Dir.mkdir('./db') unless File.exists?('./db')
50
- clear unless File.exists?(db_path)
59
+ Dir.mkdir('./db') unless File.exist?('./db')
60
+ clear unless File.exist?(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
data/lib/tadb.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module TADB
2
- VERSION = '0.3.6'
2
+ VERSION = '0.3.8'
3
3
  end
4
4
 
5
5
  require_relative 'tadb/db'
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.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - UTN FRBA - TADP
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-23 00:00:00.000000000 Z
11
+ date: 2023-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec-collection_matchers
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.2.15
33
+ version: 2.4.10
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 2.2.15
40
+ version: 2.4.10
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.10'
61
+ version: '3.12'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.10'
68
+ version: '3.12'
69
69
  description: Toy file based object storage for academic purposes
70
70
  email:
71
71
  - erwincdl@gmail.com
@@ -82,7 +82,7 @@ homepage: http://tadp-utn-frba.github.io/
82
82
  licenses:
83
83
  - MIT
84
84
  metadata: {}
85
- post_install_message:
85
+ post_install_message:
86
86
  rdoc_options: []
87
87
  require_paths:
88
88
  - lib
@@ -97,8 +97,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
99
  requirements: []
100
- rubygems_version: 3.2.0.rc.1
101
- signing_key:
100
+ rubygems_version: 3.4.10
101
+ signing_key:
102
102
  specification_version: 4
103
103
  summary: File based storage
104
104
  test_files: []