elasticsearch_record 1.7.0 → 1.7.2

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: 92676fe7f2327036588c1d2e3cb6756cabbc2365ee8984196f1ef1c4a23d8448
4
- data.tar.gz: 8c1f329957f4a1909181dde9e9c781a86a41188ee7337a73614eb8d893cae482
3
+ metadata.gz: 9e957272489ab4ebcfc628f36441959f01e20264d215f3f8d020d461447b87bc
4
+ data.tar.gz: a12a713313af1fd1dd83077b96255efe9cfeced3bcc5204739fd383499e6ad8a
5
5
  SHA512:
6
- metadata.gz: 9cb4514641f1f26d922f5cb941a677c5cff568641ddcf7243a914481707a982440b6a8967e74734d7900c00c6441128ef69c29a5c3774455df018206932e1b85
7
- data.tar.gz: 004b62c74a4b4878c2e0a982a91217beee695a8e58d4509bba4cbd8f7664fdd0a4658cfd8533e1ff5a409f5fee6bce613d46f398ac067ed474324d65ad43406c
6
+ metadata.gz: 4ef80538ae0feca07575902168df24c56696b4c4cf608ca8466b4c495261296a4338709e302bf402b2596fe1bb0617faa3c1198a7fa6f6b96cc031bd4ea7831e
7
+ data.tar.gz: 5ad60438e39b4f579d84959f897452d48ac1d4b261c7b65af7539ddb7b69601b1d963dd393ab647d5dbcef55c695ce0cf5e2ffbb6db217348ead523f8e373f4b
data/README.md CHANGED
@@ -44,7 +44,7 @@ https://github.com/ruby-smart/elasticsearch_record/tree/rails-7-0-stable
44
44
  Add this line to your application's Gemfile:
45
45
 
46
46
  ```ruby
47
- gem 'elasticsearch_record', '~> 1.7'
47
+ gem 'elasticsearch_record', '~> 1.7.0'
48
48
 
49
49
  # alternative
50
50
  gem 'elasticsearch_record', git: 'https://github.com/ruby-smart/elasticsearch_record', branch: 'rails-7-0-stable'
data/docs/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # ElasticsearchRecord - CHANGELOG
2
2
 
3
+ ## [1.7.2] - 2024-01-10
4
+ * [ref] gemspec to lock on rails 7.0
5
+
6
+ ## [1.7.1] - 2024-01-09
7
+ * [fix] `ElasticsearchRecord::Relation` calculation methods return with different nodes
8
+ * [ref] `ElasticsearchRecord::Relation#calculate` removes default value of `node`
9
+ * [ref] `ActiveRecord::ConnectionAdapters::ElasticsearchAdapter#api` prevents inaccurate variable interpretation of `log`
10
+
3
11
  ## [1.7.0] - 2024-01-09
4
12
  * [add] `ElasticsearchRecord::Relation#boxplot` calculation method
5
13
  * [add] `ElasticsearchRecord::Relation#stats` calculation method
@@ -32,7 +32,7 @@ DESC
32
32
 
33
33
  spec.require_paths = ["lib"]
34
34
 
35
- spec.add_dependency 'activerecord', '~> 7.0'
35
+ spec.add_dependency 'activerecord', '~> 7.0.0'
36
36
  spec.add_dependency 'elasticsearch', '>= 7.17'
37
37
 
38
38
  #spec.add_development_dependency 'coveralls_reborn', '~> 0.25'
@@ -238,7 +238,7 @@ module ActiveRecord # :nodoc:
238
238
  # resolve the API target
239
239
  target = namespace == :core ? @connection : @connection.__send__(namespace)
240
240
 
241
- log("#{namespace}.#{action}", arguments, name, async: async, log: log) do
241
+ __send__(:log, "#{namespace}.#{action}", arguments, name, async: async, log: log) do
242
242
  response = ActiveSupport::Dependencies.interlock.permit_concurrent_loads do
243
243
  target.__send__(action, arguments)
244
244
  end
@@ -9,7 +9,7 @@ module ElasticsearchRecord
9
9
  module VERSION
10
10
  MAJOR = 1
11
11
  MINOR = 7
12
- TINY = 0
12
+ TINY = 2
13
13
  PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
@@ -168,7 +168,7 @@ module ElasticsearchRecord
168
168
  # @param [Symbol, String] column_name
169
169
  # @param [Array] values
170
170
  def percentile_ranks(column_name, values)
171
- calculate(:percentiles, column_name, opts: { values: values }, node: :values)
171
+ calculate(:percentile_ranks, column_name, opts: { values: values }, node: :values)
172
172
  end
173
173
 
174
174
  # Calculates the cardinality on a given column. Returns +0+ if there's no row.
@@ -180,7 +180,7 @@ module ElasticsearchRecord
180
180
  #
181
181
  # @param [Symbol, String] column_name
182
182
  def cardinality(column_name)
183
- calculate(:cardinality, column_name)
183
+ calculate(:cardinality, column_name, node: :value)
184
184
  end
185
185
 
186
186
  # Calculates the average value on a given column. Returns +nil+ if there's no row. See #calculate for examples with options.
@@ -191,7 +191,7 @@ module ElasticsearchRecord
191
191
  #
192
192
  # @param [Symbol, String] column_name
193
193
  def average(column_name)
194
- calculate(:avg, column_name)
194
+ calculate(:avg, column_name, node: :value)
195
195
  end
196
196
 
197
197
  # Calculates the minimum value on a given column. The value is returned
@@ -204,7 +204,7 @@ module ElasticsearchRecord
204
204
  #
205
205
  # @param [Symbol, String] column_name
206
206
  def minimum(column_name)
207
- calculate(:min, column_name)
207
+ calculate(:min, column_name, node: :value)
208
208
  end
209
209
 
210
210
  # Calculates the maximum value on a given column. The value is returned
@@ -217,7 +217,7 @@ module ElasticsearchRecord
217
217
  #
218
218
  # @param [Symbol, String] column_name
219
219
  def maximum(column_name)
220
- calculate(:max, column_name)
220
+ calculate(:max, column_name, node: :value)
221
221
  end
222
222
 
223
223
  # This single-value aggregation approximates the median absolute deviation of its search results.
@@ -247,7 +247,7 @@ module ElasticsearchRecord
247
247
  #
248
248
  # @param [Symbol, String] column_name (optional)
249
249
  def sum(column_name)
250
- calculate(:sum, column_name)
250
+ calculate(:sum, column_name, node: :value)
251
251
  end
252
252
 
253
253
  # creates a aggregation with the provided metric (e.g. :sum) and columns.
@@ -255,8 +255,8 @@ module ElasticsearchRecord
255
255
  # @param [Symbol, String] metric
256
256
  # @param [Array<Symbol|String>] columns
257
257
  # @param [Hash] opts - additional arguments that get merged with the metric definition
258
- # @param [Symbol] node (default :value)
259
- def calculate(metric, *columns, opts: {}, node: :value)
258
+ # @param [Symbol] node (default: nil)
259
+ def calculate(metric, *columns, opts: {}, node: nil)
260
260
  metric_key = "calculate_#{metric}"
261
261
 
262
262
  # spawn a new aggregation and return the aggs
@@ -266,7 +266,11 @@ module ElasticsearchRecord
266
266
  aggregate(metric_key, { metric => { fields: columns }.merge(opts) }).aggregations
267
267
  end
268
268
 
269
- response[metric_key][node]
269
+ if node.present?
270
+ response[metric_key][node]
271
+ else
272
+ response[metric_key]
273
+ end
270
274
  end
271
275
  end
272
276
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Gonsior
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-09 00:00:00.000000000 Z
11
+ date: 2024-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '7.0'
19
+ version: 7.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '7.0'
26
+ version: 7.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: elasticsearch
29
29
  requirement: !ruby/object:Gem::Requirement