bool_at 0.2.2 → 0.2.3

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