prelude-batch-loader 0.0.3 → 0.0.4

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: fe5fd8aaec2a81ab66605e3946294da8f80472e3edd5a50e6d5a9f191a7eb71f
4
- data.tar.gz: 78ae571f78eb8e000aa8cfc675694f78487c9dbe6e926107ca244496262438cc
3
+ metadata.gz: cae99a6ad46de71ce518e50d1f2877efaebf2df5d23b4224fb10416417f69cd6
4
+ data.tar.gz: 3594cbeadbaa4e55fea9138570fc55fd8863c04698999737cb018290af95f310
5
5
  SHA512:
6
- metadata.gz: 2882a7e26bf8ad5aa63825111ab3550c0e21caf8c512f9bd077d365ae2b54d26acbf4ff550c90f2f5c3536b55fe4b988deeb1fdcada445c2dec13d70bbbaf22d
7
- data.tar.gz: 95c16f16fd51bf401cadf44b5105b4ed3dc7b9a8e7796060c148ef211fe1be75019d7977758d8d31bd786551b9293cc427ca0e5ab26206cae6d255ea1ad8ab7f
6
+ metadata.gz: 9519329f8ed99362489e9b434448879b1aae9c286e4b689b8b8376866e5b327fd055fcccd36e3e2edb7a4765ca2a478b26b24084808ca7d81b8e2520d261262a
7
+ data.tar.gz: c2e34af07621b2b2a06514eee82d010f867b67f4afefa50811a239f2536e0bbda6cc168a25f6c5138b5e922d7a012d4ce4c1e670537d2284da4c9f0a745e2bd7
data/lib/prelude.rb CHANGED
@@ -1,13 +1,12 @@
1
1
  require_relative 'prelude/version'
2
2
  require_relative 'prelude/preloadable'
3
- require_relative 'prelude/relation'
4
3
  require_relative 'prelude/enumerator'
5
4
  require 'active_support'
6
5
 
7
6
  ActiveSupport.on_load :active_record do
8
7
  include Prelude::Preloadable
9
- ActiveRecord::Relation.prepend Prelude::Relation
10
8
  end
11
9
 
12
10
  # Patch into Enumerator to support with_prelude
13
11
  Enumerator.include(Prelude::Enumerator)
12
+ Enumerable.include(Prelude::Enumerator)
@@ -1,3 +1,3 @@
1
1
  module Prelude
2
- VERSION = [0, 0, 3].join('.')
2
+ VERSION = [0, 0, 4].join('.')
3
3
  end
data/spec/prelude_spec.rb CHANGED
@@ -31,7 +31,7 @@ describe Prelude do
31
31
 
32
32
  5.times { klass.create! }
33
33
 
34
- expect(klass.all.map(&:number).uniq).to eq([42]) # all the same result
34
+ expect(klass.all.with_prelude.map(&:number).uniq).to eq([42]) # all the same result
35
35
  expect(call_count).to eq(1) # only one call
36
36
  end
37
37
 
@@ -103,13 +103,13 @@ describe Prelude do
103
103
  end
104
104
 
105
105
  it 'should be able to pass arguments to methods' do
106
- call_count = 0
106
+ call_arguments = []
107
107
 
108
108
  klass = Class.new(ActiveRecord::Base) do
109
109
  self.table_name = 'breweries'
110
110
 
111
111
  define_prelude(:multiply_by) do |records, by|
112
- call_count += 1
112
+ call_arguments << [records.to_a, by]
113
113
  Hash.new { |h, k| h[k] = 42 * by }
114
114
  end
115
115
  end
@@ -122,7 +122,11 @@ describe Prelude do
122
122
  expect(i.multiply_by(2)).to eq(84)
123
123
  end
124
124
 
125
- expect(call_count).to eq(2) # one for each argument
125
+ # two calls with the appropriate arguments
126
+ expect(call_arguments).to eq([
127
+ [instances, 1], # deduped
128
+ [instances, 2]
129
+ ])
126
130
  end
127
131
 
128
132
  it 'should be able to set a batch size' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prelude-batch-loader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Crepezzi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-06 00:00:00.000000000 Z
11
+ date: 2021-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -77,7 +77,6 @@ files:
77
77
  - lib/prelude/method.rb
78
78
  - lib/prelude/preloadable.rb
79
79
  - lib/prelude/preloader.rb
80
- - lib/prelude/relation.rb
81
80
  - lib/prelude/version.rb
82
81
  - spec/prelude_spec.rb
83
82
  - spec/spec_helper.rb
@@ -1,14 +0,0 @@
1
- module Prelude
2
- module Relation
3
- def preload_associations(records)
4
- # Keep existing behavior
5
- super(records)
6
-
7
- # Add in our behavior
8
- if Preloadable === records.first
9
- preloader = Preloader.new(records.first.class, records)
10
- records.each { |r| r.prelude_preloader = preloader }
11
- end
12
- end
13
- end
14
- end