nobrainer-references 1.0.0 → 1.1

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: 65580cce199dbbd155e48df8d0a7bbd3639829306b9b5ff6928030210cd37720
4
- data.tar.gz: f1d9e1bde0a355826be32ad48dcccce95cdc236439f71d034b15e49822a7489c
3
+ metadata.gz: 649305652de6cc26bfc59f608cd20e6a9eda34f98ce5bebfabd4125a2af6a962
4
+ data.tar.gz: 94aecebcd41fd5ac69e9bcf6d2618259cbe613e7a737f377c3b8f0a29c1f1b1d
5
5
  SHA512:
6
- metadata.gz: f38850e024055580bbad17616b9348e5c473ab4198b5f4e0aaacab94b2bb6a978fa74705067d81fb2546b70ebdb78c8747fea39f66376786d90a3ebff6b3bb56
7
- data.tar.gz: 97bd8654f56171de5ad971b2fc302814efe68fcd5822f4c049b0594504f2eb362f99ed10f727abc2fef89e79ba3aa3eaa1d0cb248deac6533c0cbae2ec779731
6
+ metadata.gz: 240e085f120412a9a872b446c5b054bc7d5b3ec42f255d4dd75d3490ca305445c1b8dfef682969d7c296a54c282ff6c3dc57f1467b04b5644121f0c1e59ccb9c
7
+ data.tar.gz: f1c1f6a4cd29a5ea19e2ec1da1ce44df81654940038c63060d0c11382a2819734bd0611bf45e44b800909e6857b53b954dce8ff047b9d3b4fd2006e18e727db1
@@ -40,7 +40,7 @@ module NoBrainer::Document::References
40
40
 
41
41
  module AssociationExt
42
42
  def eager_load_association(docs, association_name, criteria=nil)
43
- if (field = docs&.first) && (field = field.root_class.fields[association_name.to_sym]) && field_is_reference_type?(field)
43
+ if (field = docs&.first) && (field = field.class.fields[association_name.to_sym]) && field_is_reference_type?(field)
44
44
  NoBrainer::Document::References.eager_load(docs, association_name, field, criteria)
45
45
  else
46
46
  super
@@ -2,6 +2,6 @@
2
2
 
3
3
  module NoBrainer
4
4
  module References
5
- VERSION = '1.0.0'.freeze
5
+ VERSION = '1.1'.freeze
6
6
  end
7
7
  end
@@ -3,34 +3,35 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  RSpec.describe NoBrainer::Document::References do
6
- before(:all) do
7
- class Person
8
- include NoBrainer::Document
9
- field :name, type: String
10
- end
11
-
12
- class Post
13
- include NoBrainer::Document
14
- field :title, type: String
15
- field :authors, type: Array.of(Reference.to(Person))
16
- field :publisher, type: Reference.to(Person)
17
- end
6
+ class Person
7
+ include NoBrainer::Document
8
+ field :name, type: String
9
+ end
10
+
11
+ class Thing
12
+ include NoBrainer::Document
13
+ end
14
+
15
+ class Book < Thing
16
+ field :title, type: String
17
+ field :authors, type: Array.of(Reference.to(Person))
18
+ field :publisher, type: Reference.to(Person)
18
19
  end
19
20
 
20
21
  it "eager loads single reference" do
21
22
  publisher = Person.create!(name: Faker::Name.name)
22
- post = Post.create!(title: Faker::Name.name, publisher: publisher)
23
+ post = Book.create!(title: Faker::Name.name, publisher: publisher)
23
24
 
24
- post = Post.where(title: post.title).eager_load(:publisher).first
25
+ post = Book.where(title: post.title).eager_load(:publisher).first
25
26
  expect(Person).not_to receive(:find)
26
27
  expect(post.publisher.name).to eq publisher.name
27
28
  end
28
29
 
29
30
  it "eager loads reference array" do
30
31
  bob, doug = Person.create!(name: "Bob"), Person.create!(name: "Doug")
31
- post = Post.create!(title: Faker::Name.name, authors: [bob, doug])
32
+ post = Book.create!(title: Faker::Name.name, authors: [bob, doug])
32
33
 
33
- post = Post.where(title: post.title).eager_load(:authors).first
34
+ post = Book.where(title: post.title).eager_load(:authors).first
34
35
  expect(Person).not_to receive(:find)
35
36
  expect(post.authors.map(&:name)).to eq [bob, doug].map(&:name)
36
37
  end
@@ -12,4 +12,4 @@ end
12
12
  NoBrainer.configure do |config|
13
13
  config.app_name = 'nobrainer_refs'
14
14
  config.environment = :test
15
- end
15
+ end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nobrainer-references
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: '1.1'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Sloan
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-12 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: nobrainer
@@ -47,7 +46,6 @@ homepage: https://github.com/CodeMonkeySteve/nobrainer-references
47
46
  licenses:
48
47
  - MIT
49
48
  metadata: {}
50
- post_install_message:
51
49
  rdoc_options: []
52
50
  require_paths:
53
51
  - lib
@@ -62,8 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
60
  - !ruby/object:Gem::Version
63
61
  version: '0'
64
62
  requirements: []
65
- rubygems_version: 3.5.22
66
- signing_key:
63
+ rubygems_version: 3.6.9
67
64
  specification_version: 3
68
65
  summary: NoBrainer support for model references
69
66
  test_files: