dddr 2.5.0 → 2.6.0

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
  SHA256:
3
- metadata.gz: f96ffac1e23446ac9a1c36f4510843e4dc1604def5358f57118ace997c0b7d82
4
- data.tar.gz: f2596ac36f26e0f507b1e0daaf26de0fff2708a840eca88b5ea11b433dbb4f4a
3
+ metadata.gz: d6acdebe892f8a4b6cdf9ca92fda7bf75ed5b9070cef4ab7026c5422e8afd3ff
4
+ data.tar.gz: 3139cede6e45ca82aece8f39bd85683b87f6892aa4a58592878f348ab4e47d3b
5
5
  SHA512:
6
- metadata.gz: ea1ff7abff2d883c5a0fc4ede0f79a8895a062e47832372cdbe4303ce111280c032bb2824a84f8d1bbd538d6b45f5ee9ecc2c3d49e193221211ca8bbca4d55c4
7
- data.tar.gz: feca838ebd27c5a28169babab509a6278cc485f81b1de1e8f3b96ae327bdb428ad9887640cd786ce0d127d22f2e300b4b34df0aba6ad2eaff792a1a058d0933d
6
+ metadata.gz: 6fea9815112baa6abd60096e2de8da23f509711fef58792bb87dbc4a776ff5057d43d549260c85937ddbfd6a4ae6eff3c47053f6220e8d7dac7de500708e4224
7
+ data.tar.gz: d2bb17024d3c636b0687817b270f18020359abcbea4ad9f937756f6bd04f8b43eaf377d193ed8537d6fb2e33729377c579e68ef0df9b0f4fdff0e295f14d9757
data/lib/dddr/sequel.rb CHANGED
@@ -67,6 +67,7 @@ module Dddr
67
67
  end
68
68
 
69
69
  def update(entity)
70
+ entity.last_updated_at = DateTime.now
70
71
  @dataset.where(uid: entity.uid).update(entity.to_hash)
71
72
  end
72
73
 
@@ -83,6 +84,9 @@ module Dddr
83
84
  def add(entity)
84
85
  uid = SecureRandom.uuid
85
86
  entity.uid = uid
87
+ entity.created_at ||= DateTime.now.to_s
88
+ entity.last_updated_at ||= entity.created_at
89
+
86
90
  @dataset.insert(entity.to_hash)
87
91
  uid
88
92
  end
@@ -92,23 +96,6 @@ module Dddr
92
96
  # Methods update, delete, get, etc., remain unchanged.
93
97
  end
94
98
 
95
- module Entity
96
- def self.included(base)
97
- base.extend(ClassMethods)
98
- end
99
-
100
- def to_hash
101
- instance_variables.each_with_object({}) do |var, hash|
102
- hash[var.to_s.delete("@").to_sym] = instance_variable_get(var)
103
- end
104
- end
105
-
106
- def from_hash(uid, data_hash)
107
- self.uid = uid
108
- data_hash.each do |attribute, value|
109
- send(:"#{attribute}=", value) if respond_to?(:"#{attribute}=")
110
- end
111
- end
112
- end
99
+
113
100
  end
114
101
  end
data/lib/dddr/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dddr
4
- VERSION = "2.5.0"
4
+ VERSION = "2.6.0"
5
5
  end
data/lib/dddr.rb CHANGED
@@ -75,6 +75,20 @@ module Dddr
75
75
  end
76
76
 
77
77
  end
78
+
79
+ def to_hash
80
+ instance_variables.each_with_object({}) do |var, hash|
81
+ hash[var.to_s.delete("@").to_sym] = instance_variable_get(var)
82
+ end
83
+ end
84
+
85
+ def from_hash(uid, data_hash)
86
+ self.uid = uid
87
+ data_hash.each do |attribute, value|
88
+ send(:"#{attribute}=", value) if respond_to?(:"#{attribute}=")
89
+ end
90
+ end
91
+
78
92
 
79
93
  attr_accessor :uid, :created_at, :last_updated_at, :deleted, :deleted_at
80
94
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dddr
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delaney Burke
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-03-21 00:00:00.000000000 Z
11
+ date: 2024-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sdbm