audiences 1.0.2 → 1.1.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: 4af455b618eb475abafc8af9308a208193b7ba2dc90e1bdb06ace775a6187577
4
- data.tar.gz: e5c9e37d32d7ded3e324d3d17cbb293d93809c94dcf05f3104511f3f46af364c
3
+ metadata.gz: fb6cd0b15c4418d691457785fc345dda6a357c1a473ab019ed5107a5a1484bf5
4
+ data.tar.gz: 358154f7fb716e7730e81bc90097a70e9858cba8112b4f42699a7e4c20183b00
5
5
  SHA512:
6
- metadata.gz: 4a9c2bddbd35c72e69423d069e83c7c474a9b7969049bc474466768233e526454accd14097ea83dea2de9384d1ed821d6140f43cd9ddb8f10e0e0e9ad07b23dc
7
- data.tar.gz: 56e5af91a67d7838b0ae1305b505482dab15e9c930eb2ffad8051bec6e0f1cb6d4ecee0a5e4da2eb27fd6c21d34e26f285ff919e870f06b83a5f22517eeff351
6
+ metadata.gz: 196fce0f288da61bfdba49ba92f47aeba4838c91807597df74e79672037c6c02f9398152203a9b75aab1916e676e452f634e62f668d2dc189956c316f87424c8
7
+ data.tar.gz: 04efb326a46b298c02584b991a3532259a624de5e7428574ebc83d783b0a7144d1c1d885c34073e649bdd53ea35d42bb618968e9ed6f2f3df5cf7346d90cf4a0
data/Rakefile CHANGED
@@ -6,7 +6,7 @@ require "bundler/setup"
6
6
  require "bundler/gem_tasks"
7
7
 
8
8
  require "rspec/core/rake_task"
9
- RSpec::Core::RakeTask.new(spec: %w[app:db:drop app:db:prepare])
9
+ RSpec::Core::RakeTask.new(spec: %w[app:db:prepare])
10
10
 
11
11
  require "rubocop/rake_task"
12
12
  RuboCop::RakeTask.new(:rubocop)
@@ -10,7 +10,8 @@ module Audiences
10
10
  attrs = resources.map do |data|
11
11
  { user_id: data["id"], data: data, created_at: Time.current, updated_at: Time.current }
12
12
  end
13
- upsert_all(attrs) # rubocop:disable Rails/SkipsModelValidations
13
+ unique_by = :user_id if connection.supports_insert_conflict_target?
14
+ upsert_all(attrs, unique_by: unique_by) # rubocop:disable Rails/SkipsModelValidations
14
15
  where(user_id: attrs.pluck(:user_id))
15
16
  end
16
17
 
@@ -27,7 +27,14 @@ module Audiences
27
27
  private
28
28
 
29
29
  def result
30
- @result ||= @scope.where("data LIKE ?", "%#{@query}%")
30
+ @result ||= @scope.where("#{data_attribute_query} LIKE ?", "%#{@query}%")
31
+ end
32
+
33
+ def data_attribute_query
34
+ case @scope.connection.adapter_name
35
+ when "PostgreSQL" then "CAST(data AS TEXT)"
36
+ else "CAST(data AS CHAR)"
37
+ end
31
38
  end
32
39
  end
33
40
  end
data/docs/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Unreleased
2
2
 
3
+ # Version 1.1.0 (2024-06-10)
4
+
5
+ - Bump a number of libraries (see release notes)
6
+
7
+ # Version 1.0.3 (2024-05-14)
8
+
9
+ - Fix PostgreSQL compability [#312](https://github.com/powerhome/audiences/pull/312)
10
+ - Fix audiences resources pagination [#313](https://github.com/powerhome/audiences/pull/313)
11
+
3
12
  # Version 1.0.2 (2024-04-30)
4
13
 
5
14
  - Fix mysql2 compability – drop sqlite3 [#292](https://github.com/powerhome/audiences/pull/292)
@@ -31,19 +31,30 @@ module Audiences
31
31
  end
32
32
 
33
33
  def next_page?
34
- start_index = response.fetch("startIndex", 1)
35
- per_page = response["itemsPerPage"].to_i
36
- total_results = response["totalResults"].to_i
37
-
38
34
  start_index + per_page <= total_results
39
35
  end
40
36
 
37
+ def start_index
38
+ response.fetch("startIndex", 1)
39
+ end
40
+
41
+ def per_page
42
+ response["itemsPerPage"].to_i
43
+ end
44
+
45
+ def total_results
46
+ response["totalResults"].to_i
47
+ end
48
+
49
+ def next_index
50
+ start_index + per_page
51
+ end
52
+
41
53
  def next_page
42
54
  return unless next_page?
43
55
 
44
- current_page = @query_options.fetch(:page, 1)
45
56
  ResourcesQuery.new(@client, resource_type: @resource_type, **@query_options,
46
- page: current_page + 1)
57
+ startIndex: next_index)
47
58
  end
48
59
 
49
60
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Audiences
4
- VERSION = "1.0.2"
4
+ VERSION = "1.1.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: audiences
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Palhares
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-30 00:00:00.000000000 Z
11
+ date: 2024-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails