bool_at 0.2.2 → 0.2.3

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: d04bdbed8082b139ebc9f1cf325111514fa0189331cfb5fb440240c03e768121
4
- data.tar.gz: 0caf8494426182237510a11db2cc29a74fae2e35303e1c867b238d3244660847
3
+ metadata.gz: 378cc41fd1448afcf1b47d09fd5d96aee6e414adf057b218da434e7e3cee4d4a
4
+ data.tar.gz: bb31cdbc37748166d2c0b8a57e7b09bbcecc21b195542e1952ba7112ae829c06
5
5
  SHA512:
6
- metadata.gz: 9183fbea360010692ac1f2fa2b5549e5e81e7f502c52efb95af7cd8d08ade7dc4077cf79eb1c4fbce4faf30a0a32512da955626ca2a0cf499e75ac46623fe075
7
- data.tar.gz: b5f186b30213128b8a907a1bb065e62a7d1d1c6e884fcdabb5a2bc16a5c19ec8e468bf8b9c66417535c8bfca468d6150505f1a2f26068b61c91cc177c5b60549
6
+ metadata.gz: 18b300a0d8970502875b9029c0b3770f3e429ce05bef914368b0c4a43f4ffc50ac4396fbb1704bbcdeabbad04d50f56dc93f31878226e1108e1909eade7f6a8b
7
+ data.tar.gz: 05ee52f2371b040b63697bd4e78dcf80477541d506e06c4463d4501e2196ec901dbe1b2820cb1d6019df17aa3ac6e3d26f5dcbe88409985fef8b15faeaf7fcf3
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ # 0.2.3 Avoid updating `_at` attr when already set 21 Sept 2023
2
+
3
+ https://github.com/elithecho/bool_at/pull/4
4
+
5
+ - Avoid overwriting the `_at` attribute when it is already set
data/Gemfile.lock CHANGED
@@ -46,7 +46,7 @@ GEM
46
46
  method_source (0.9.2)
47
47
  mini_portile2 (2.8.0)
48
48
  minitest (5.15.0)
49
- nokogiri (1.13.3)
49
+ nokogiri (1.13.4)
50
50
  mini_portile2 (~> 2.8.0)
51
51
  racc (~> 1.4)
52
52
  parallel (1.21.0)
data/lib/bool_at/macro.rb CHANGED
@@ -19,7 +19,7 @@ module BoolAt
19
19
  # Changes dirty state in virtual attribute
20
20
  define_method setter do |value|
21
21
  super(value)
22
- send(at_setter, self[attr] ? Time.now : nil)
22
+ send(at_setter, self[attr] ? self[at_attribute] || Time.now : nil)
23
23
  end
24
24
 
25
25
  define_method attr do
@@ -1,3 +1,3 @@
1
1
  module BoolAt
2
- VERSION = "0.2.2".freeze
2
+ VERSION = "0.2.3".freeze
3
3
  end
@@ -36,6 +36,14 @@ RSpec.describe BoolAt::Macro do
36
36
  post.published = false
37
37
  expect(post.published?).to be false
38
38
  end
39
+
40
+ it "keep time if already set" do
41
+ past_date = 2.days.ago.to_time
42
+ post = Post.new(published_at: past_date)
43
+ post.published = true
44
+ expect(post.published?).to be true
45
+ expect(post.published_at).to be past_date
46
+ end
39
47
  end
40
48
  end
41
49
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bool_at
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chong Hui
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-15 00:00:00.000000000 Z
11
+ date: 2023-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -119,6 +119,7 @@ files:
119
119
  - ".gitignore"
120
120
  - ".rspec"
121
121
  - ".rubocop.yml"
122
+ - CHANGELOG.md
122
123
  - CODE_OF_CONDUCT.md
123
124
  - Gemfile
124
125
  - Gemfile.lock
@@ -156,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
157
  - !ruby/object:Gem::Version
157
158
  version: '0'
158
159
  requirements: []
159
- rubygems_version: 3.2.22
160
+ rubygems_version: 3.4.10
160
161
  signing_key:
161
162
  specification_version: 4
162
163
  summary: Convert datetime to boolean in ActiveRecord