activerecord-preload_query 0.1.0 → 0.2.0

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
  SHA1:
3
- metadata.gz: c18f581006c1e6e08c09778131433f4b4df32589
4
- data.tar.gz: 1733fedaaab2683023fa4f0ece33fa87630b0c0a
3
+ metadata.gz: d949049c6200f79a00e163437ce2f2c956e49a21
4
+ data.tar.gz: 94779c6509b78a2c932b7efc89a32b29d79d6d89
5
5
  SHA512:
6
- metadata.gz: d63a4b9caee959307e8d56c25612ed85be1d0b161e459783a9cad17daf652d3db3c7caec2d8ba2b2ae128b825c3f5bb3a3fa2a1b3be9808f94f5360c34c8c95a
7
- data.tar.gz: 3a9a9d3437b922ddef82125c4bddf9c4d5523d38318f67a887c9ffdff66915ebad73a0154de0273b3663408e764ac069ed8a94208ea3914c79110bb81bc9c28e
6
+ metadata.gz: 5f74d9a3b9ae89c1270a292981ff12a3e79da0dec93809824d5fea28c2bacac5ecdf1053d7806e3c77a8b7c463ec1f051f5a1c41e2ef67861436b7cbce76ab4b
7
+ data.tar.gz: 80d291dbc189a230b41855749bdb6a9129c66b522b6efe284e500b51f5180d5534314412c18429164b2a5d682136184ef7cf1babf4f5b29ed435ba3e47aa5a8e
data/README.md CHANGED
@@ -26,7 +26,7 @@ end
26
26
  We can do:
27
27
 
28
28
  ```ruby
29
- Category.limit(10).preload_query(:sum_price).each do |caregory|
29
+ Category.limit(10).preload_query(:sum_price).each do |category|
30
30
  p category.name
31
31
  p category.sum_price
32
32
  end
@@ -24,4 +24,5 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency 'minitest', '>= 3'
25
25
  spec.add_development_dependency 'sqlite3', '~> 1.3'
26
26
  spec.add_development_dependency 'pry'
27
+ spec.add_development_dependency 'pry-byebug'
27
28
  end
@@ -7,6 +7,12 @@ ActiveSupport.on_load(:active_record) do
7
7
  delegate :preload_query, to: :scope
8
8
  end
9
9
 
10
+ class ActiveRecord::Base
11
+ class << self
12
+ delegate :preload_query, to: :all
13
+ end
14
+ end
15
+
10
16
  class ActiveRecord::Relation
11
17
  alias_method :origin_initialize, :initialize
12
18
 
@@ -27,10 +33,11 @@ ActiveSupport.on_load(:active_record) do
27
33
  records = origin_exec_queries
28
34
 
29
35
  # added
36
+ primary_key = @klass.primary_key.to_sym
30
37
  @preload_queries.each do |pc|
31
- _tmp = @klass.send(pc, records.map(&:id)).map{|x| [x.id, x.send(pc)]}.to_h
38
+ _tmp = @klass.send(pc, records.map(&primary_key)).map{|x| [x.send(primary_key), x.send(pc)]}.to_h
32
39
  records.map do |record|
33
- record.define_singleton_method pc, lambda { _tmp[record.id] }
40
+ record.define_singleton_method pc, lambda { _tmp[record.send(primary_key)] }
34
41
  end
35
42
  end
36
43
 
@@ -1,5 +1,5 @@
1
1
  module Activerecord
2
2
  module PreloadQuery
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-preload_query
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jose Galisteo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-31 00:00:00.000000000 Z
11
+ date: 2016-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: PreloadQuery allows you preload queries and have them available as would
84
98
  a relations and `preload` of ActiveRecord.
85
99
  email: