dddr 2.5.0 → 2.6.0

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: 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