esse-active_record 0.3.2 → 0.3.4

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: b48e48c6b27fee2e8612414bd9ba6730bbfd57ddc30b9f5ebadf5742c57d4be4
4
- data.tar.gz: c1b74e88c8942aea5a72c58326c0051d57326ff6d6c61e80b723abd043dd74a1
3
+ metadata.gz: 36873df931f4f1169fefa6e411417b4639218af434ccad541d851cb3a060dcfe
4
+ data.tar.gz: 500b9266326fd5bea838c09b06f836e6f3f20a9c7482df1dd392ab64759ac71d
5
5
  SHA512:
6
- metadata.gz: 46019ab0f4d79af084a062fe41de8d1341b9261f0cf3651c94bb3e290db71a0f1794350fed8f2ef58f8dbc98910c2854e7a15fd5027cce0f1fd057ccda734b34
7
- data.tar.gz: e2c5861b580b09bf968d04a984ab3e6d94d27c89a2386a84397ceabf9860237be85ec135c79c387c3ad4559e4cbeb1462f863604de01f1a9c047143df0f5448a
6
+ metadata.gz: cac26d6c6d3c13e0081989925e695b64beaf968409644ed3b45ca8a771c7bc0df3fc22a35762adb94a0b1505e82df3f4541eaf18c3dffc45766867f2bb7428f0
7
+ data.tar.gz: a65f7bbb4329e39ebc463f2b6342c113fcf42f444879fdefe765db37aabd30fb49905b2521533d323765af44643fca5c27c2156de891bc1fbfe10a00cb3653a6
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
 
5
5
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
6
 
7
- gem 'esse', '~> 0.3.0'
7
+ gem 'esse', '~> 0.3.1'
8
8
  gem 'sqlite3', '~> 1.7.3'
9
9
  gem 'activerecord', '~> 5.2'
10
10
  gem 'esse-rspec', '~> 0.0.6'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- esse-active_record (0.3.2)
4
+ esse-active_record (0.3.4)
5
5
  activerecord (>= 4.2, < 8)
6
6
  esse (>= 0.3.0)
7
7
 
@@ -39,7 +39,7 @@ GEM
39
39
  elasticsearch-transport (7.17.10)
40
40
  faraday (>= 1, < 3)
41
41
  multi_json
42
- esse (0.3.0)
42
+ esse (0.3.1)
43
43
  multi_json
44
44
  thor (>= 0.19)
45
45
  esse-rspec (0.0.6)
@@ -142,7 +142,7 @@ DEPENDENCIES
142
142
  awesome_print
143
143
  dotenv
144
144
  elasticsearch (~> 7.17, >= 7.17.10)
145
- esse (~> 0.3.0)
145
+ esse (~> 0.3.1)
146
146
  esse-active_record!
147
147
  esse-rspec (~> 0.0.6)
148
148
  pry
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- esse-active_record (0.3.2)
4
+ esse-active_record (0.3.4)
5
5
  activerecord (>= 4.2, < 8)
6
6
  esse (>= 0.3.0)
7
7
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- esse-active_record (0.3.2)
4
+ esse-active_record (0.3.4)
5
5
  activerecord (>= 4.2, < 8)
6
6
  esse (>= 0.3.0)
7
7
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- esse-active_record (0.3.2)
4
+ esse-active_record (0.3.4)
5
5
  activerecord (>= 4.2, < 8)
6
6
  esse (>= 0.3.0)
7
7
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- esse-active_record (0.3.2)
4
+ esse-active_record (0.3.4)
5
5
  activerecord (>= 4.2, < 8)
6
6
  esse (>= 0.3.0)
7
7
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- esse-active_record (0.3.2)
4
+ esse-active_record (0.3.4)
5
5
  activerecord (>= 4.2, < 8)
6
6
  esse (>= 0.3.0)
7
7
 
@@ -19,8 +19,11 @@ module Esse::ActiveRecord
19
19
  update_document(document)
20
20
  return true unless document.routing
21
21
 
22
- prev_record = model.class.new(model.attributes.merge(model.previous_changes.transform_values(&:first))).tap(&:readonly!)
23
- prev_document = repo.serialize(prev_record)
22
+ prev_record = model.class.new
23
+ model.attributes.merge(model.previous_changes.transform_values(&:first)).each do |key, value|
24
+ prev_record[key] = value
25
+ end
26
+ prev_document = repo.serialize(prev_record.tap(&:readonly!))
24
27
 
25
28
  return true unless prev_document
26
29
  return true if [prev_document.id, prev_document.routing].include?(nil)
@@ -14,7 +14,14 @@ module Esse
14
14
 
15
15
  def esse_callback(index_repo_name, operation_name, on: %i[create update destroy], **options, &block)
16
16
  @esse_callbacks = esse_callbacks.dup
17
- if_enabled = -> { Esse::ActiveRecord::Hooks.enabled?(index_repo_name) && Esse::ActiveRecord::Hooks.enabled_for_model?(self.class, index_repo_name) }
17
+ cb_if = options.delete(:if)
18
+ cb_unless = options.delete(:unless)
19
+ if_enabled = -> {
20
+ (cb_if.nil? || (cb_if.respond_to?(:call) ? instance_exec(&cb_if) : send(cb_if))) &&
21
+ (cb_unless.nil? || (cb_unless.respond_to?(:call) ? !instance_exec(&cb_unless) : !send(cb_unless))) &&
22
+ Esse::ActiveRecord::Hooks.enabled?(index_repo_name) &&
23
+ Esse::ActiveRecord::Hooks.enabled_for_model?(self.class, index_repo_name)
24
+ }
18
25
 
19
26
  Array(on).each do |event|
20
27
  identifier, klass = Esse::ActiveRecord::Callbacks.fetch!(operation_name, event)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Esse
4
4
  module ActiveRecord
5
- VERSION = '0.3.2'
5
+ VERSION = '0.3.4'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esse-active_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcos G. Zimmermann
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-10 00:00:00.000000000 Z
11
+ date: 2024-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: esse