quo 0.5.3 → 0.6.0

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: 71564f3db9d5b4d555d2a21d01f2754ac7db5a650db760f480e6e968343b6994
4
- data.tar.gz: 27ba399c9fd255fcff14ca7c2ab419d8547f6f7e2d319c2cb96aeaeed8dbc032
3
+ metadata.gz: 78b41f6d815238ed48ed00790498c1d6d7e8c099c0312fe82a441dcbe68d667f
4
+ data.tar.gz: 84d11fe9c86ef448d17229f0544a1966f55597ce1a8522e4ef92b626fea24537
5
5
  SHA512:
6
- metadata.gz: 6f43fe074d4ddfdbe71f27a5d65600ad014e473131d91c50ed911e541d533a9a2830ebb38420e17aba090657adf2f0f44409e995c5b3fc6666226c083eb1a93f
7
- data.tar.gz: 07dcc1701c60ad300e92a67aea0c9b2a61c7edda34bc99aa5a0b9faab7c77a71ace33548822c70006f2965d5cdd3140b7df819d585675d045d92e477c5909871
6
+ metadata.gz: dc89984c05233e3300c62149c457bec4e079c9d2dd646011c5fa348aaee3a66e59e627fcc93051ac992bd167df536b27d51784e241996dd548dde84b25ec3bde
7
+ data.tar.gz: 1c3b41c2f541e96121b07bb3ce640846b3e308fcd018625d211b2f96a43ff4fe9cc0372d3bf8602c7fb22594c9935bb72bdd48041bde5e5eb391e6c3969a3ecc
data/README.md CHANGED
@@ -130,38 +130,6 @@ composed = query1 + query2 # or Quo::Query.compose(query1, query2) or query1.com
130
130
  composed.first
131
131
  ```
132
132
 
133
- ```ruby
134
- class CompanyToBeApproved < Quo::TypedQuery
135
- def query
136
- Registration
137
- .left_joins(:approval)
138
- .where(approvals: {completed_at: nil})
139
- end
140
- end
141
-
142
- class CompanyInUsCityAndState < Quo::TypedQuery
143
- param :state, Literal::Union[String, Array[String]]
144
- param :city, optional(Literal::Union[String, Array[String]])
145
-
146
- def query
147
- q = Registration
148
- .joins(company: :address)
149
- .where(addresses: {state: state})
150
- q = q.where(addresses: {city: city}) if city
151
- q
152
- end
153
- end
154
-
155
-
156
- query1 = CompanyToBeApproved.new
157
- query_partialy_applied = CompanyInUsState.with(state: "California")
158
- query2 = query_partialy_applied.with(city: ["San Francisco", "Los Angeles"]).operation
159
-
160
- composed = query1 + query2
161
- # '+' composes the queries and returns a new prepared query
162
- composed.first
163
- ```
164
-
165
133
  This effectively executes:
166
134
 
167
135
  ```ruby
@@ -170,7 +138,6 @@ Registration
170
138
  .joins(company: :address)
171
139
  .where(approvals: {completed_at: nil})
172
140
  .where(addresses: {state: options[:state]})
173
- .limit(1)
174
141
  ```
175
142
 
176
143
  It is also possible to compose with an `ActiveRecord::Relation`. This can be useful in a Query object itself to help
data/lib/quo/query.rb CHANGED
@@ -202,11 +202,16 @@ module Quo
202
202
  configured_query.to_sql if relation?
203
203
  end
204
204
 
205
- # Unwrap the underlying query
205
+ # Unwrap the paginated query
206
206
  def unwrap
207
207
  configured_query
208
208
  end
209
209
 
210
+ # Unwrap the un-paginated query
211
+ def unwrap_unpaginated
212
+ underlying_query
213
+ end
214
+
210
215
  delegate :distinct, to: :configured_query
211
216
 
212
217
  private
@@ -13,7 +13,8 @@ module Quo
13
13
  stack_to_display = stack[0..callstack_size]
14
14
  message = "\n[Query stack]: -> #{stack_to_display&.join("\n &> ")}\n"
15
15
  message += " (truncated to #{callstack_size} most recent)" if callstack_size && stack.size > callstack_size
16
- Quo.configuration.logger&.info(message)
16
+ logger = Quo.configuration.logger&.call
17
+ logger.info(message) if logger
17
18
  end
18
19
  end
19
20
  end
data/lib/quo/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Quo
4
- VERSION = "0.5.3"
4
+ VERSION = "0.6.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Ierodiaconou
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-10 00:00:00.000000000 Z
11
+ date: 2024-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord