postgresql_cursor 0.6.8 → 0.6.9

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: c85acb2e98683cf55a34048f3b4b20ee78b210741f22dcb634bd5c4a2fe53395
4
- data.tar.gz: 2c9c6bef23d6a18d6e878b8bf0cd5f85ec94c4fe013238ca95fa1a95f9af8ada
3
+ metadata.gz: 630053842ad4867acb96172ec30bbb0bf6a2df40f08afe67b19a794394a79dc4
4
+ data.tar.gz: dff4476a6f173f50148e1a18570d91f47b99e08b64dcfb18308f59d8d66bd79e
5
5
  SHA512:
6
- metadata.gz: 707d3922478b915d36b503a9e3ef4973e2064d7e1b0388b2b31191e91e4bef1e118ac3d08eb8aaeae4a7b94e6c099c522116d7651aa23f0645f16541e8b68793
7
- data.tar.gz: 7bda9582106b1d8472a7c09d3ce9db8e66a519f2f22f2903c9e29b5f9814083f81ffa3df3c2aa171b5e2f8445c2bf05f0fac5025176c77ef74ae7c7733c0dec6
6
+ metadata.gz: fbb48e961a6cc76371639cd5190e48484c350290d14f34882e6ea8e90337b0b948c0abcab1427df85bbeed59979a1e7d1e223f1c4e77a0dd51b81034c0e94208
7
+ data.tar.gz: a7444b6c43a0da1ea29a658852c66f16e1f22b5eef8e93f1a7ca8c24ed7599bdf197c272584ea09dda17d1db498b5f5c8d9b2a4bd0c79169b16c878f9856df0e
data/README.md CHANGED
@@ -88,6 +88,17 @@ Product.each_row.map {|r| r["id"].to_i } #=> [1, 2, 3, ...]
88
88
  Product.each_instance.map {|r| r.id }.each {|id| p id } #=> [1, 2, 3, ...]
89
89
  Product.each_instance.lazy.inject(0) {|sum,r| sum + r.quantity } #=> 499500
90
90
  ```
91
+
92
+ ### PostgreSQLCursor and collection rendering
93
+
94
+ You can render cursor collection, using enumeration as collection attribute.
95
+
96
+ ```ruby
97
+ render partial: "some_partial", collection: Product.each_instance
98
+ render partial: "some_partial", collection: Product.each_row
99
+ render partial: "some_partial", collection: Product.each_hash
100
+ ```
101
+
91
102
  ### Hashes vs. Instances
92
103
 
93
104
  The each_row method returns the Hash of strings for speed (as this allows you to process a lot of rows).
@@ -71,6 +71,12 @@ module PostgreSQLCursor
71
71
  self
72
72
  end
73
73
 
74
+ # ActiveRecord call #size when rendering a collection
75
+ # Define it and return some dummy value
76
+ def size
77
+ -1
78
+ end
79
+
74
80
  # Public: Yields each row of the result set to the passed block
75
81
  #
76
82
  # Yields the row to the block. The row is a hash with symbolized keys.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PostgresqlCursor
4
- VERSION = "0.6.8"
4
+ VERSION = '0.6.9'
5
5
  end
data/test/helper.rb CHANGED
@@ -12,7 +12,8 @@ ActiveRecord::Base.establish_connection(adapter: 'postgresql',
12
12
  class Product < ActiveRecord::Base
13
13
  has_many :prices
14
14
 
15
- # create table records (id serial primary key);
15
+ # create table products (id serial primary key, data varchar);
16
+ # create table prices (id serial primary key, product_id integer references products(id));
16
17
  def self.generate(max=1_000)
17
18
  max.times do |i|
18
19
  connection.execute("insert into products values (#{i+1})")
@@ -225,4 +225,13 @@ class TestPostgresqlCursor < Minitest::Test
225
225
  cursor = Product.first.prices.each_instance
226
226
  refute cursor.instance_variable_get(:@type).loaded?
227
227
  end
228
+
229
+ def test_size
230
+ r = Product.each_instance
231
+ assert_equal -1, r.size
232
+ r = Product.each_hash
233
+ assert_equal -1, r.size
234
+ r = Product.each_row
235
+ assert_equal -1, r.size
236
+ end
228
237
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: postgresql_cursor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.8
4
+ version: 0.6.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Allen Fair
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-18 00:00:00.000000000 Z
11
+ date: 2024-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -149,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  - !ruby/object:Gem::Version
150
150
  version: '0'
151
151
  requirements: []
152
- rubygems_version: 3.3.7
152
+ rubygems_version: 3.5.3
153
153
  signing_key:
154
154
  specification_version: 4
155
155
  summary: ActiveRecord PostgreSQL Adapter extension for using a cursor to return a